Spring Boot注解——@ConditionalOnMissingBean和@ConditionalOnBean

@ConditionalOnMissingBean和@ConditionalOnBean作用是相反的
主要介绍@ConditionalOnMissingBean

@Configuration
public class RedisConfig {
    @Bean
    @ConditionalOnMissingBean(name="redisTemplate")
    public RedisTemplate<Object,Object> redisTemplate(
            RedisConnectionFactory redisConnectionFactory)throws UnknownHostException {
        //new一个Redis客户端
        RedisTemplate<Object,Object> template = new RedisTemplate<>();
        //将配置类的信息自动配置进来
        template.setConnectionFactory(redisConnectionFactory);
        return template;
    }
}

上面的方法上@ConditionalOnMissingBean表示在Spring容器中如果有一个Bena的name是redisTemplate那将不需要再执行被此注解修饰的代码块,也就是此方法。

注意 :@ConditionalOnMissingBean只能在@Bean 注释的方法上使用,不能再@Component 注释的类上使用。

发布了159 篇原创文章 · 获赞 86 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/qq_40301026/article/details/104373619