Middle
Kui bean'id on deklareeritud @Configuration ja @Bean kaudu, kuidas töötab @Qualifier ja mis on bini nimi?
sobes.tech AI
Vastus AI-lt
Kui bean'id on deklareeritud kasutades @Configuration ja @Bean, loob Spring need nimedega, mis vastavad meetodi nimele, mis bean'i tagastab. Näiteks:
@Configuration
public class AppConfig {
@Bean
public MyService myService() {
return new MyServiceImpl();
}
}
Selles juhul on bean'i nimi myService.
@Qualifier annotatsioonit kasutatakse selleks, et täpsustada, millist bean'i täpselt tuleb sisestada, kui kontekstis on mitu sama tüüpi bean'i. Näiteks:
@Bean
public MyService myService1() { ... }
@Bean
public MyService myService2() { ... }
@Autowired
@Qualifier("myService2")
private MyService service;
Siin näitab @Qualifier Springile, et tuleb sisestada bean nimega myService2.
Seega töötab @Qualifier bean'i nime alusel, mis vaikimisi vastab meetodi nimele, mis bean'i deklareerib, välja arvatud juhul, kui on selgelt määratud teine nimi name parameetriga @Bean-is.