@ConditionalOnProperty这个注解是一个条件注解一般常见配合@Configuration使用
意思是配置类是否生效
配置类是否生效主要就看@ConditionalOnProperty中的参数了
name代表是 spring yaml配置文件中的key的名字
havingValue 代表是 spring yaml配置文件中的key的value值
如果 @ConditionalOnProperty(name="abc",havingValue="12345")
刚好yaml配置文件中有
abc: 12345
那么条件成立@Configuration 标注的类会被加载否则就不会加载 一般SpringBoot自动 装配经常用到 比如 数据库连接需要配置哪个类的类型
相反如果配置文件是
abc:123 发现匹配不上havingValue的值那么就不会加载这个配置类。
matchIfMissing 这个含义就是 针对name的。 如果配了havingValue 这个参数matchIfMissing就没有用了 怎么写都不生效
如果 不配置havingValue。只配置name 那么matchIfMissing =true 意思就是。name写的key名字在配置文件中是否有 都会生效
如果配置false那么就是 name中定义的key名字在配置文件找不到。就条件不成立