Middle
Ako su beani deklarisani putem @Configuration i @Bean, kako funkcioniše @Qualifier i kako se zove bean?
sobes.tech АИ
Одговор од АИ
Kada su beani deklarisani putem @Configuration i @Bean, Spring ih kreira sa imenima koja odgovaraju imenu metode koja vraća bean. Na primer:
@Configuration
public class AppConfig {
@Bean
public MyService myService() {
return new MyServiceImpl();
}
}
U ovom slučaju, ime beana je myService.
Atribut @Qualifier se koristi za preciziranje koji tačno bean treba da bude ubrizgan, ako u kontekstu postoji više beana istog tipa. Na primer:
@Bean
public MyService myService1() { ... }
@Bean
public MyService myService2() { ... }
@Autowired
@Qualifier("myService2")
private MyService service;
Ovde, @Qualifier ukazuje Spring-u da treba da ubrizga bean sa imenom myService2.
Na ovaj način, @Qualifier funkcioniše po imenu beana, koje podrazumevano odgovara imenu metode koja deklarše bean, osim ako nije eksplicitno drugačije naznačeno putem parametra name u @Bean.