Sobes.tech
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.