@Qualifier
作用:显式指定要注入的 Bean 名称
解决什么问题:当 Spring 容器中存在多个同类型 Bean 时避免歧义
命名约定:"httpProperties" 是被注入 Bean 的名称标识符
eg
@Configuration
public class HttpConfig {
@Bean
@ConfigurationProperties(prefix = "app.http")
public HttpProperties httpProperties() {
return new HttpProperties();
}
@Bean
@ConfigurationProperties(prefix = "app.backup.http")
public HttpProperties backupHttpProperties() {
return new HttpProperties();
}
@Bean
public HttpInvokeService httpInvokeService(
@Qualifier("httpProperties") HttpProperties props) {
return new HttpInvokeServiceImpl(props);
}
}
没有@Qualifier会报错 NoUniqueBeanDefinitionException

浙公网安备 33010602011771号