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

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

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

      springboot~matchIfMissing正確的姿勢

      matchIfMissing是@ConditionalOnProperty注解中的參數,它控制了在配置文件中沒有顯示聲明配置時,它的一個默認值,這個默認是false,就是說,當你有一個配置叫lind.redis.enabled,在配置文件中沒有聲明它,那么我們就認為它是false、當值為false時,你的bean不會被裝配;當你希望你的bean在不配置它時,它默認就可以被裝配,就把它設置為true,很多組件默認值都改成了true,比如一個redis組件,只要引用它的redis包,就自動開啟redis的功能,這時需要把值設置成true。

      什么時候matchIfMissing設為false

      我舉個實際的例子,我有個接口MissingBean,它有個默認的實現DefaultMissingBean,同時還有個v1版本的實現V1MissingBean,如果開發人員不顯示開啟v1時,就使用DefaultMissingBean,這時你就需要將matchIfMissing設置為false了

      • MissingBean
      public interface MissingBean {
      	void hello();
      }
      
      • DefaultMissingBean
      public class DefaultMissingBean implements MissingBean {
      
      	@Override
      	public void hello() {
      		System.out.println("default MissingBean");
      	}
      
      }
      
      • MissingBeanConfig
      @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")
      public class V1MissingBean implements MissingBean {
      
      	@Override
      	public void hello() {
      		System.out.println("v1 MissingBean");
      	}
      
      }
      

      我們配置文件里不設置test.v1.enabled,MissingBean會使用DefaultMissingBean,如果希望使用v1版本,只要在配置文件中手動設置test.v1.enabled為true即可

      總結

      • 如果MissingBean有默認的實現,通過@ConditionalOnMissingBean(MissingBean.class)的話
      • 則V1MissingBean就不能使用@Bean的方式進行注入了
      • 通過@Bean再注入一個V1MissingBean,spring會找到兩個實現,這時,需要將它聲明為@Primary才行,如果通過@Component聲明,就是正常的。
      • 通過@ConditionalOnProperty注解來控制它,可以通過配置屬性來裝配它,做到default和v1的切換.
      • @ConditionalOnProperty注解來控制它中matchIfMissing默認是false,當需要它來裝配時,需要在配置文件中改成true 反之,如果你的組件希望在配置文件中不配置的情況下也能裝配,那么就需要將matchIfMissing設置為true
      posted @ 2025-02-11 16:34  張占嶺  閱讀(552)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 免费观看欧美猛交视频黑人| 东北妇女精品bbwbbw| 国产一区日韩二区欧美三区| 久久久久香蕉国产线看观看伊| 日韩少妇人妻vs中文字幕| 阜阳市| 国产成人亚洲精品自产在线 | 亚洲精品久久久久国色天香| 国产中文字幕精品免费| 国产在线无码不卡播放| 亚洲一区二区三区| 国产精品亚洲二区在线播放| 色噜噜一区二区三区| 欧美成人一区二区三区不卡| 平利县| 亚洲国产大片永久免费看| 欧美极品色午夜在线视频| 周口市| 成人免费在线播放av| 秋霞电影院午夜无码免费视频| 人妻丰满熟妇av无码区不卡| 久久视频这里只精品| 日韩国产精品无码一区二区三区| 欧美黑人又粗又大又爽免费| av午夜福利一片免费看久久| 国产三级精品福利久久| 中国猛少妇色xxxxx| 国产精品中文字幕第一区| 亚洲成AV人片在线观高清| 中文字幕日韩精品人妻| 成人午夜看黄在线尤物成人| 欧美人妻一区二区三区| 99热精品国产三级在线观看| 国产91色在线精品三级| 五河县| 无码囯产精品一区二区免费| 亚洲av无码精品蜜桃| 久久亚洲精品天天综合网| 日韩少妇人妻vs中文字幕 | 狠狠亚洲色一日本高清色| 成人午夜免费无码视频在线观看|