@Conditionalxxx开头的注解我们称之为条件注解,常见的条件注解有
- class 条件注解:@ConditionalOnClass
- bean 条件注解:@ConditionalOnBean
- 属性条件注解:@ConditionalOnProperty
- …
这几个注解通常会结合使用,一般都是在配置类中使用,SpringBoot 各种xxxxAutoCconfiguration都用到了这些注解,这也是 SpringBoot 自动装配的重要工具。
以@ConditionalOnProperty属性条件注解为例:
一般是在配置类上或者是 @Bean 修饰的方法上,添加此注解表示类或方法是否要被 Spring 上下文加载,若满足条件则加载,若不满足条件则不加载。
我们在 application.yml 中配置的各种配置,添加配置之后即生效,就是这么控制的。
主要说一下这个属性 matchIfMissing,该属性为 true 时,配置文件中缺少对应的 value 或 name 的对应的属性值,也会加载成功。
name: cdn



