碎片化学习系列-基于不同的场景初始化不同的配置类(@Condit

2023-09-28  本文已影响0人  CoderInsight

基于不同的场景初始化不同的配置类(@ConditionalOnProperty注解)

  1. 注解@ConditionalOnProperty@Component
  2. 使用说明:首先通过 @ConditionalOnProperty 注解就可以实现,另外其配置参数的方式有2个,可以随意选择其中一个,基于场景实践方案:不配置就不会初始化、配置为havingValue之外的值也不会初始化;只有配置成havingValue相等的值才会去初始化。
  3. 注意:如果是自定义的biz工具类,配置生成不生效,首先得将这个类交给Spring管理,最简单的方式就是添加 @Component 注解。
  4. 代码实现和配置说明
    • 代码编写说明
    // 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
    
  5. 补充:如果存在依赖调用、注入等,需要统一配置@ConditionalOnProperty。
上一篇 下一篇

猜你喜欢

热点阅读