<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      springboot~ConditionalOnProperty注解的使用

      @ConditionalOnProperty注釋在類或者bean方法上進行控制這個bean對象是否被注冊,它是否被注冊,完成依賴于ConditionalOnProperty里的value的值,為true時,表示被注冊,為false表示不注冊這個bean。而我們通過matchIfMissing來配置這個value的缺省值,默認是false,即當你不配置時,它是不會自動裝配的。

      在組件中的使用

      一 聲明一個配置類

      @ConfigurationProperties("kc-kafka")
      @Data
      public class KafkaProperties {
        /**
         * 是否開啟kafka功能.
         */
        private Boolean enabled = true;
        /**
         * kafka生產者ack機制
         */
        private String acks = "1";
      

      通過EnableConfigurationProperties開啟配置類,而當前類是否被注冊,依賴于kc-kafka.enabled的值,默認是裝配這個bean

      matchIfMissing=true表示默認在不配置kc-kafak時,它就會裝配這個KafkaProviderConfig對象

      @Configuration
      @RequiredArgsConstructor
      @ConditionalOnProperty(value = "kc-kafka.enabled", matchIfMissing = true)
      @EnableConfigurationProperties(KafkaProperties.class)
      public class KafkaProviderConfig {
        @Autowired
        KafkaProperties kafkaProperties;
      
        @Bean
        @ConditionalOnBean(DefaultKafkaProducerFactory.class)
        public KafkaTemplate<String, String> kafkaTemplate(DefaultKafkaProducerFactory<String, String> kafkaProducerFactory) {
          return new KafkaTemplate<>(kafkaProducerFactory, false);
        }
      }
      

      通過name和havingValue為控制bean的裝配

      上面的matchIfMissing只控制boolean類型的屬性,如果你希望通過字符串屬性來控制bean的裝配,可以使用name和havingValue的組合。

      @Configuration
      @RequiredArgsConstructor
      @ConditionalOnProperty(name= "kc-kafka.status", havingValue="1")
      @EnableConfigurationProperties(KafkaProperties.class)
      

      @ConditionalOnProperty和@ConditionalOnMissingBean一起使用的效果

      • MissingBean是一個接口,里面有個方法hello()
      • 有個默認的實現DefaultMissingBean,通過@ConditionalOnMissingBean進行聲明,當沒有其它MissingBean接口的bean時,會使用這個DefaultMissingBean
      • V1MissingBean是我們自定義的實現,它通過@ConditionalOnProperty來開啟是否裝配,如果它沒有裝備,spring就使用默認的DefaultMissingBean
      • test.v1.enabled在配置文件里,配置為true表示開啟 V1MissingBean,配置為false,表示不開啟它,而開啟默認的DefaultMissingBean

      實例代碼

      public interface MissingBean {
      
      	void hello();
      
      }
      public class DefaultMissingBean implements MissingBean {
      
      	@Override
      	public void hello() {
      		System.out.println("default MissingBean");
      	}
      
      }
      @Configuration
      public class MissingBeanConfig {
      
          /**
           * @ConditionalOnMissingBean當沒有其它MissingBean的bean時,就使用DefaultMissingBean這個bean. @return
           */
          @Bean
          @ConditionalOnMissingBean(MissingBean.class)
          public MissingBean defaultMissingBean() {
              return new DefaultMissingBean();
          }
      
      }
      
      • v1MissingBean對象
      @Component
      @ConditionalOnProperty(value="test.v1.enabled",matchIfMissing = true)
      public class V1MissingBean implements MissingBean {
      
      	@Override
      	public void hello() {
      		System.out.println("v1 MissingBean");
      	}
      
      }
      
      • 關閉v1的配置
      test:
        v1:
          enabled: false
      
      • 測試用例
      	@Autowired
      	MissingBean missingBean;
      
      
      	/**
      	 * @ConditionalOnMissingBean.
      	 */
      	@Test
      	public void onMissingBean() {
      		missingBean.hello();
      	}
      
      posted @ 2023-03-09 11:09  張占嶺  閱讀(1118)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 丁香婷婷无码不卡在线| 粉嫩av一区二区三区蜜臀| 免费视频成人片在线观看 | 琼结县| 里番全彩爆乳女教师| 国产午夜福利视频在线| 亚洲精品不卡av在线播放 | 成人永久免费A∨一级在线播放 | 国产成人午夜精品影院| 欧美交a欧美精品喷水| 18岁日韩内射颜射午夜久久成人| 久久精品久久电影免费理论片| 日日碰狠狠躁久久躁96avv| 四虎永久在线精品免费看| 精品无码久久久久久尤物| 德阳市| 色综合AV综合无码综合网站| 青青青青久久精品国产| 怀来县| 婷婷综合亚洲| 国产日韩另类综合11页| 久久香蕉国产线看观看怡红院妓院 | 人妻少妇中文字幕久久| 国产影片AV级毛片特别刺激| 日韩精品人妻黄色一级片| 高清dvd碟片 生活片| 性动态图无遮挡试看30秒| 视频一区视频二区在线视频| 国产又黄又爽又不遮挡视频| 亚洲丰满熟女一区二区蜜桃| 精品精品亚洲高清a毛片| 久久视频这里只精品| 尤物国精品午夜福利视频| 色香欲天天影视综合网| a∨变态另类天堂无码专区| 国产三级国产精品久久成人| 久久精品国产亚洲精品2020| 香蕉EEWW99国产精选免费| 亚洲成av人片天堂网无码 | 亚洲AV无码破坏版在线观看| 午夜福利一区二区在线看|