Sobes.tech
Middle

Ja bini ir deklarēti ar @Configuration un @Bean, kā darbojas @Qualifier un kāds ir bini nosaukums?

sobes.tech AI

Atbilde no AI

Kad beans tiek ar deklarēti ar @Configuration un @Bean, Spring tos izveido ar nosaukumiem, kas atbilst metodes nosaukumam, kas atgriež bean. Piemēram:

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

Šajā gadījumā, beans nosaukums ir myService.

@Qualifier anotācija tiek izmantota, lai precizētu, kurš tieši beans jāinjicē, ja kontekstā ir vairāki tāda paša tipa beans. Piemēram:

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

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

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

Šeit, @Qualifier norāda Spring, ka jāinjicē beans ar nosaukumu myService2.

Tādējādi, @Qualifier darbojas pēc beans nosaukuma, kas pēc noklusējuma sakrīt ar metodes nosaukumu, kas deklarē beans, ja vien netiek norādīts kaut kas cits ar name parametru @Bean.