@Conditional是Spring4新提供的注解,它的作用是根据某个条件创建特定的Bean,通过实现Condition接口,并重写matches接口来构造判断条件。总的来说,就是根据特定条件来控制Bean的创建行为,这样我们可以利用这个特性进行一些自动的配置。
翻译
表明组件只有在所有指定条件都匹配时才有资格注册
be eligible for有资格的
在注册bean定义之前是可以通过程序来控制状态的,详情见Condition接口。
@Conditional注解可以在以下任何一种方式中使用
作为 任何直接或间接由@Component注解的类的 类型级别的注解,包括Configuration类
作为元注释,用于组成自定义原型注释
作为 @Bean方法上的 方法级别的注解
如果一个@Configuration类被标记为@Conditional,那么所有与该类相关的@Bean方法、@Import注解和@ComponentScan注解都将服从这些条件
注意: 不支持@Conditional注解的继承; 来自父类或被重写方法的任何条件都不会被考虑。为了加强这些语义,@Conditional本身没有声明为@Inherited; 此外,任何使用@Conditional的的自定义组合注解都不能声明为@Inherited。
使用示例
https://www.jb51.net/article/166975.htm
标签:自定义,Conditional,接口,Bean,条件,注解 From: https://www.cnblogs.com/liaowenhui/p/16828474.html