springboot中中Conditional相关注解
Posted caibixiang123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot中中Conditional相关注解相关的知识,希望对你有一定的参考价值。
-
@ConditionalOnBean(主要在BeanFactory类中匹配)
Class<?>[] value() default //类名 .class 容器中存在该类就加载该配置
String[] type() default // 容器中存在该类就加载该配置 一般配置全限定性类名
String[] name() default ; //bean 在sprin容器中的名称,默认为类名第一个字母小写-
@ConditionalOnProperty
name 和 prefix 组合获取 application.yml配置 (prefix.name),如果不配置prefix,name不支持嵌套
比如spring.cache 直接 配置在name (name="spring.cache")上获取不到;要这样配置( prefix="spring",name="cache");前面获取到值与havingValue 设置的值进行比较,比较的结果依据matchIfMissing值设定来确定是否加载该配置类,默认matchIfMissing为false, 两者值相等就进行加载,否则不加载
表达式为true 的时候加载 配置类 (supported a SpEL expression.)
-
@ConditionalOnExpression
-
Class<?>[] value() default ; //类名.class
String[] name() default ; //类名是否存在 一般配置全限定性类名 -
@ConditionalOnMissingClass 和 @ConditionalOnClass 相同配置作用相反
-
@ConditionalOnMissingBean 和 @ConditionalOnBean 相同配置作用相反
-
@ConditionalOnClass(是否存在该类,存在该类就加载该类配置(和容器没有关系))
-
以上是关于springboot中中Conditional相关注解的主要内容,如果未能解决你的问题,请参考以下文章
springboot情操陶冶-@Conditional和@AutoConfigureAfter注解解析