SpringBoot之@Conditional扩展注解&自动配置报告

SpringBoot之@Conditional扩展注解&自动配置报告

Scroll Down

@Conditional扩展注解的作用:必须是@Conditional指定的条件成立,才能给容器中添加组件,配置类里面的所有内容才能生效

@Conditional扩展注解作用(判断是否满足当前指定条件)
@ConditionalOnJava系统的java版本是否符合要求
@ConditionalBean容器中存在指定的Bean
@ConditionalOnMissingBean容器中不存在指定的Bean
@ConditionalExpression满足SpEL表达式指定
@ConditionalOnClass系统中有指定类
@ConditionalOnMissingClass系统中没有指定类
@ConditionalOnSingleCandidate容器中只有一个指定的Bean,或者这个Bean是首选Bean
@ConditionalOnProperty系统中指定的属性是否有指定的值
@ConditionalOnResource类路径下是否存在指定资源文件
@ConditionalOnWebApplication当前是否是web环境
@ConditionalOnNotWebApplication当前不是web环境
@ConditionalOnJndiJNDI存在指定项

自动配置类在一定条件下才能生效:

那我们怎么才能知道有哪些自动配置类生效呢?
在配置文件中写debug=true(开启SpringBoot的debug模式),开启后控制台会打印自动配置报告