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

Penjelasan terperinci tentang kaedah pemerolehan Kacang dalam Spring

WBOY
WBOYasal
2023-12-30 08:49:031429semak imbas

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);
        // ...
    }
}
  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);
        // ...
    }
}
  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);
        // ...
    }
}
  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);
        // ...
    }
}
  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>
public class Main {
    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        UserService userService = context.getBean("userService", UserService.class);
        // ...
    }
}

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!

Kenyataan:
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