Rumah > Java > javaTutorial > Penjelasan terperinci tentang kaedah pemerolehan Kacang dalam Spring

Penjelasan terperinci tentang kaedah pemerolehan Kacang dalam Spring

WBOY
Lepaskan: 2023-12-30 08:49:03
asal
1430 orang telah melayarinya

Penjelasan terperinci tentang kaedah pemerolehan Kacang dalam Spring

Penjelasan terperinci tentang kaedah pemerolehan Kacang dalam Spring

Dalam rangka kerja Spring, pemerolehan Kacang adalah bahagian yang sangat penting. Dalam aplikasi, kita selalunya perlu menggunakan suntikan kebergantungan atau mendapatkan contoh kacang secara dinamik. Artikel ini akan memperkenalkan secara terperinci cara mendapatkan kacang dalam Spring dan memberikan contoh kod khusus.

  1. Dapatkan Kacang melalui anotasi @Component

Anotasi @Component ialah salah satu anotasi yang biasa digunakan dalam rangka kerja Spring. Kita boleh mengenal pasti ia sebagai Bean dengan menambahkan anotasi @Component pada kelas dan menggunakan ApplicationContext untuk mendapatkan contoh Bean daripada bekas. Berikut ialah contoh:

@Component
public class UserService {
    // ...
}

public class Main {
    public static void main(String[] args) {
        ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
        UserService userService = context.getBean(UserService.class);
        // ...
    }
}
Salin selepas log masuk
  1. Get Bean melalui @Autowired anotation

@Autowired anotation ialah satu lagi anotasi yang biasa digunakan dalam rangka kerja Spring. Dengan menambahkan anotasi @Autowired pada pembolehubah ahli, Spring akan secara automatik menyuntik Bean yang sepadan ke dalam pembolehubah ini. Berikut ialah contoh:

@Component
public class UserService {
    @Autowired
    private UserRepository userRepository;
    // ...
}

public class Main {
    public static void main(String[] args) {
        ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
        UserService userService = context.getBean(UserService.class);
        // ...
    }
}
Salin selepas log masuk
  1. Mendapatkan kacang melalui anotasi @Qualifier

Apabila menggunakan anotasi @Autowired, jika terdapat berbilang kacang padan dalam bekas, Spring tidak dapat menentukan kacang yang hendak disuntik. Pada ketika ini, anda boleh menggunakan anotasi @Qualifier untuk menentukan nama kacang yang akan disuntik. Berikut ialah contoh:

@Component
public class UserService {
    @Autowired
    @Qualifier("userRepositoryImpl")
    private UserRepository userRepository;
    // ...
}

public class Main {
    public static void main(String[] args) {
        ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
        UserService userService = context.getBean(UserService.class);
        // ...
    }
}
Salin selepas log masuk
  1. Dapatkan Kacang melalui anotasi @Bean

Selain menambah Kacang menggunakan anotasi, kami juga boleh membuat Kacang menggunakan @Configuration dan anotasi @Bean. Kelas yang dianotasi dengan @Configuration akan diiktiraf sebagai kelas konfigurasi oleh bekas Spring dan anotasi @Bean digunakan dalam kelas konfigurasi untuk mencipta tika Bean. Berikut ialah contoh:

@Configuration
public class AppConfig {
    @Bean
    public UserService userService() {
        return new UserService();
    }
}

public class Main {
    public static void main(String[] args) {
        ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
        UserService userService = context.getBean(UserService.class);
        // ...
    }
}
Salin selepas log masuk
  1. Dapatkan Beans melalui fail konfigurasi XML

Selain menggunakan anotasi, kami juga boleh menggunakan fail konfigurasi XML untuk mendapatkan Beans. Dalam fail konfigurasi XML, kita boleh menentukan nama, jenis dan sifat Bean dan memuatkan fail konfigurasi melalui ApplicationContext untuk mendapatkan contoh Bean. Berikut adalah contoh:

<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="userService" class="com.example.UserService">
        <property name="userRepository" ref="userRepositoryImpl" />
    </bean>

    <bean id="userRepositoryImpl" class="com.example.UserRepositoryImpl" />

</beans>
Salin selepas log masuk
public class Main {
    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        UserService userService = context.getBean("userService", UserService.class);
        // ...
    }
}
Salin selepas log masuk

Di atas adalah beberapa cara biasa untuk mendapatkan kacang di Musim Bunga. Dengan menggunakan fail konfigurasi @Component, @Autowired, @Qualifier, @Bean dan XML, kami boleh mendapatkan contoh Bean dengan mudah yang diperlukan dalam aplikasi. Untuk senario yang berbeza, kami boleh memilih cara yang sesuai untuk mendapatkan kacang, dan mekanisme suntikan pergantungan Spring boleh menjadikan kod kami lebih ringkas, fleksibel dan boleh diuji.

Atas ialah kandungan terperinci Penjelasan terperinci tentang kaedah pemerolehan Kacang dalam Spring. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan