@Conditional

  @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

posted @ 2022-10-26 15:14  JustJavaIt  阅读(48)  评论(0编辑  收藏  举报