Sobes.tech
Middle

Pokud jsou beany deklarovány pomocí @Configuration a @Bean, jak funguje @Qualifier a jaké je jméno beanu?

sobes.tech AI

Odpověď od AI

Když jsou beany deklarovány pomocí @Configuration a @Bean, Spring je vytváří s názvy odpovídajícími názvu metody, která vrací bean. Například:

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

V tomto případě je název beanu myService.

Anotace @Qualifier se používá k upřesnění, který přesně bean má být vložen, pokud je v kontextu několik beanů stejného typu. Například:

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

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

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

Zde @Qualifier říká Springu, že má vložit bean s názvem myService2.

Tímto způsobem @Qualifier funguje podle názvu beanu, který standardně odpovídá názvu metody, jež bean deklaruje, pokud není výslovně uvedeno jinak přes parametr name v @Bean.