Sobes.tech
Middle

Agar beanlar @Configuration va @Bean orqali e'lon qilingan bo'lsa, @Qualifier qanday ishlaydi va bean nomi nima?

sobes.tech AI

AIdan javob

@Configuration va @Bean orqali e'lon qilingan zarralar, Spring ularni zarrani qaytaradigan metod nomiga mos keladigan nomlar bilan yaratadi. Masalan:

@Configuration
public class AppConfig {
    @Bean
    public MyService myService() {
        return new MyServiceImpl();
    }
}

Bu holda, zarraning nomi myService.

@Qualifier annotatsiyasi, kontekstda bir nechta bir xil turdagi zarralar bo'lsa, qaysi biri in'ektsiya qilinishini aniqlash uchun ishlatiladi. Masalan:

@Bean
public MyService myService1() { ... }

@Bean
public MyService myService2() { ... }

@Autowired
@Qualifier("myService2")
private MyService service;

Bu yerda, @Qualifier Springga, myService2 nomli zarrani in'ektsiya qilishni ko'rsatadi.

Shu tarzda, @Qualifier zarraning nomi bo'yicha ishlaydi, bu odatda, zarrani e'lon qiluvchi metod nomi bilan mos keladi, agar @Bean ichida name parametri bilan aniq ko'rsatilmagan bo'lsa.