@ConditionalOnProperty注解中name,havingValue,matchIfMissing含义

@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名字在配置文件找不到。就条件不成立

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容