最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring中@ConditionalOnProperty注解的作用詳解

 更新時(shí)間:2024年01月19日 11:05:06   作者:bat在等我  
這篇文章主要介紹了Spring中@ConditionalOnProperty注解的作用詳解,@ConditionalOnProperty注解主要是用來判斷配置文件中的內(nèi)容來決定配置類是否生效用的,如果條件不匹配,則配置類不生效,需要的朋友可以參考下

@ConditionalOnProperty注解

@ConditionalOnProperty注解主要是用來判斷配置文件中的內(nèi)容來決定配置類是否生效用的,如果條件不匹配,則配置類不生效

1. 源碼

@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.TYPE, ElementType.METHOD })
@Documented
@Conditional(OnPropertyCondition.class)
public @interface ConditionalOnProperty {
	// 數(shù)組,獲取對(duì)應(yīng)property名稱的值,與name不可同時(shí)使用
	String[] value() default {};
	// 配置屬性名稱的前綴,比如spring.http.encoding
	String prefix() default "";
	// 數(shù)組,配置屬性完整名稱或部分名稱
	// 可與prefix組合使用,組成完整的配置屬性名稱,與value不可同時(shí)使用
	String[] name() default {};
	// 可與name組合使用,比較獲取到的屬性值與havingValue給定的值是否相同,相同才加載配置
	String havingValue() default "";
	// 缺少該配置屬性時(shí)是否可以加載。如果為true,沒有該配置屬性時(shí)也會(huì)正常加載;反之則不會(huì)生效
	boolean matchIfMissing() default false;
}
  1. String[] value():屬性的名字,可與prefix組合使用,不可以與name同時(shí)使用
  2. String prefix():屬性的前綴,可與name組合使用
  3. String[] name():屬性的名字,可與prefix組合使用
  4. String havingValue():指定屬性的值和havingValue相同才會(huì)加載配置
  5. boolean matchIfMissing():缺少該配置屬性是否可以加載,默認(rèn)flase,如果少了不能加載;設(shè)置為true則缺少也可以加載

2. 范例

以swagger配置來舉例

配置文件

swagger:
  enabled: true

代碼

@EnableSwagger2
@Configuration
@ConditionalOnProperty(name = "swagger.enabled", havingValue = "true") // 如果配置文件中swagger.enabled的值為false,那么havingValue返回結(jié)果為false,該配置類就不生效
public class ErpSwaggerConfig extends DefaultSwaggerConfig {
    @Bean
    public Docket erpApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .groupName("erp")
                .genericModelSubstitutes(DeferredResult.class)
                .useDefaultResponseMessages(false)
                .forCodeGeneration(false)
                .pathMapping("/")
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.ztbase.erp.controller"))
                .paths(PathSelectors.any())
                .build()
                .securitySchemes(setSecuritySchemes())
                .globalOperationParameters(getHeaderParameters())
                .apiInfo(apiInfo());
    }
}

到此這篇關(guān)于Spring中@ConditionalOnProperty注解的作用詳解的文章就介紹到這了,更多相關(guān)@ConditionalOnProperty注解內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java復(fù)制(拷貝)數(shù)組的五種方法匯總

    Java復(fù)制(拷貝)數(shù)組的五種方法匯總

    java基礎(chǔ)在Java中我們經(jīng)常需要復(fù)制一個(gè)數(shù)組,下面這篇文章主要給大家介紹了關(guān)于Java復(fù)制(拷貝)數(shù)組的五種方法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-03-03
  • 解決pageHelper分頁失效以及如何配置問題

    解決pageHelper分頁失效以及如何配置問題

    這篇文章主要介紹了解決pageHelper分頁失效以及如何配置問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • 手寫Java?LockSupport的示例代碼

    手寫Java?LockSupport的示例代碼

    LockSupport給我們提供了一個(gè)非常強(qiáng)大的功能,它是線程阻塞最基本的元語,他可以將一個(gè)線程阻塞也可以將一個(gè)線程喚醒,因此經(jīng)常在并發(fā)的場景下進(jìn)行使用。本文將用60行代碼實(shí)現(xiàn)手寫LockSupport,需要的可以參考一下
    2022-08-08
  • Java LinkedHashMap 底層實(shí)現(xiàn)原理分析

    Java LinkedHashMap 底層實(shí)現(xiàn)原理分析

    LinkedHashMap繼承自HashMap實(shí)現(xiàn)了Map接口?;緦?shí)現(xiàn)同HashMap一樣,不同之處在于LinkedHashMap保證了迭代的有序性。其內(nèi)部維護(hù)了一個(gè)雙向鏈表,解決了 HashMap不能隨時(shí)保持遍歷順序和插入順序一致的問題。
    2021-05-05
  • java 非常好用的反射框架Reflections介紹

    java 非常好用的反射框架Reflections介紹

    這篇文章主要介紹了java 反射框架Reflections的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • spring?boot整合mongo查詢converter異常排查記錄

    spring?boot整合mongo查詢converter異常排查記錄

    這篇文章主要為大家介紹了spring?boot整合mongo查詢時(shí)拋出converter異常的排查解決記錄,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-03-03
  • Java設(shè)計(jì)模式之觀察者模式詳解

    Java設(shè)計(jì)模式之觀察者模式詳解

    這篇文章主要介紹了Java設(shè)計(jì)模式之觀察者模式詳解,對(duì)象之間的多對(duì)一依賴的一種設(shè)計(jì)方案,被依賴的對(duì)象為Subject,依賴的對(duì)象為Observer,Subject通知Observer變化,需要的朋友可以參考下
    2023-12-12
  • 關(guān)于MyBatis模糊查詢的幾種實(shí)現(xiàn)方式

    關(guān)于MyBatis模糊查詢的幾種實(shí)現(xiàn)方式

    在實(shí)際項(xiàng)目中,我們會(huì)經(jīng)常對(duì)數(shù)據(jù)做一些模糊查詢的操作,這時(shí)候就需要利用到 like字段,那么在Mybatis中,有哪些方式可以實(shí)現(xiàn)模糊查詢呢,需要的朋友可以參考下
    2023-05-05
  • 移動(dòng)指定文件夾內(nèi)的全部文件

    移動(dòng)指定文件夾內(nèi)的全部文件

    移動(dòng)指定文件夾內(nèi)的全部文件
    2009-01-01
  • java之a(chǎn)ssert關(guān)鍵字用法案例詳解

    java之a(chǎn)ssert關(guān)鍵字用法案例詳解

    這篇文章主要介紹了java之a(chǎn)ssert關(guān)鍵字用法案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08

最新評(píng)論

逊克县| 辽宁省| 乌什县| 安陆市| 苏尼特右旗| 承德市| 永嘉县| 天峨县| 云阳县| 西乌珠穆沁旗| 连云港市| 阳西县| 中西区| 贵溪市| 白水县| 新平| 台湾省| 丰镇市| 宁国市| 成都市| 隆子县| 湖南省| 云梦县| 郑州市| 海丰县| 普定县| 甘德县| 沈阳市| 故城县| 扎兰屯市| 镇平县| 青州市| 尉氏县| 铜陵市| 临朐县| 紫金县| 聂拉木县| 察哈| 卢湾区| 大安市| 仪征市|