碎片化学习系列-基于不同的场景初始化不同的配置类(@Condit
基于不同的场景初始化不同的配置类(@ConditionalOnProperty注解)
-
注解:
@ConditionalOnProperty
、@Component
-
使用说明:首先通过
@ConditionalOnProperty
注解就可以实现,另外其配置参数的方式有2个,可以随意选择其中一个,基于场景实践方案:不配置就不会初始化、配置为havingValue
之外的值也不会初始化;只有配置成havingValue
相等的值才会去初始化。
-
注意:如果是自定义的
biz
工具类,配置生成不生效,首先得将这个类交给Spring管理,最简单的方式就是添加 @Component
注解。
-
代码实现和配置说明:
// 1,常用方式:当配置属性值为open且havingValue为open时,条件成立,否则不生效,另外如果不配置的话也不会生效。
@ConditionalOnProperty(value = "ownConfig.faceEngine.switch:open", havingValue = "open")
# 1,基于yml配置(如有需要自行转换为properties配置即可)
# 个性化自定义配置 = 2023年9月28日20:24:26
ownConfig:
faceEngine:
# 开关设置: open -> 开启, close -> 关闭
switch: open
- 补充:如果存在依赖调用、注入等,需要统一配置@ConditionalOnProperty。
本文标题:碎片化学习系列-基于不同的场景初始化不同的配置类(@Condit
本文链接:https://www.haomeiwen.com/subject/yxjlbdtx.html
网友评论