@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

posted @ 2025-07-01 11:27  kiss_sheep  阅读(12)  评论(0)    收藏  举报