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

ConditionalOnProperty配置swagger不生效問(wèn)題及解決

 更新時(shí)間:2022年06月14日 08:39:42   作者:灰暗角落里的琴  
這篇文章主要介紹了ConditionalOnProperty配置swagger不生效問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

ConditionalOnProperty配置swagger不生效

問(wèn)題

在正式環(huán)境準(zhǔn)備關(guān)閉Swagger,添加了ConditionalOnProperty注解進(jìn)行配置,結(jié)果發(fā)現(xiàn)怎么也無(wú)法關(guān)閉swagger。

問(wèn)題原因

@EnableSwagger2在多個(gè)地方進(jìn)行了配置,如下:

1)應(yīng)用程序處進(jìn)行了配置

@SpringCloudApplication
@EnableSwagger2 ?//在應(yīng)用程序處進(jìn)行了配置
public class SysApplication {
?
? ? public static void main(String[] args) {
? ? ? ? SpringApplication.run(SysApplication.class,args);
? ? }
}

2)swagger處進(jìn)行了配置

@Configuration
@EnableSwagger2 ?//在swagger本身配置處進(jìn)行了配置
@ConditionalOnProperty(value = "swagger.manenabled", havingValue = "true")
public class SwaggerConfig {
}

實(shí)際在2)處的配置已經(jīng)生效,但由于1)處有配置所以造成這個(gè)問(wèn)題。

解決方案

將1)處的配置關(guān)閉即可。

@ConditionalOnProperty理解和使用

在Spring應(yīng)用程序開(kāi)發(fā)的過(guò)程中,可能需要根據(jù)配置屬性的存在和值有條件地創(chuàng)建一些bean,@ConditionalOnProperty注解用于僅在環(huán)境屬性存在且具有特定值時(shí)才啟用 bean 注冊(cè)。

注解源碼

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE, ElementType.METHOD})
@Documented
@Conditional({OnPropertyCondition.class})
public @interface ConditionalOnProperty {
//獲取對(duì)應(yīng)property名稱(chēng)的值,與name不可同時(shí)使用
    String[] value() default {};
 
//配置屬性名稱(chēng)的前綴
    String prefix() default "";
 
//配置屬性完整名稱(chēng)或部分名稱(chēng)
//可與prefix組合使用,組成完整的配置屬性名稱(chēng),與value不可同時(shí)使用
    String[] name() default {};
 
//可與name組合使用,比較獲取到的屬性值與havingValue給定的值是否相同,相同才加載配置
    String havingValue() default "";
 
//缺少該配置屬性時(shí)是否可以加載。如果為true,沒(méi)有該配置屬性時(shí)也會(huì)正常加載;反之則不會(huì)生效
    boolean matchIfMissing() default false;
}

value以及 prefix + name 決定屬性值(Property Value),以下為匹配規(guī)則

解析:假如havingValue為空,

  • 屬性值為boolean類(lèi)型,則屬性值為true 加載該bean,屬性值為false 不加載該bean。
  • 如果屬性值不為boolean類(lèi)型,則有該屬性 則加載bean,沒(méi)有該屬性則不加載。

示例

屬性值不是boolean類(lèi)型的情況

@Bean(name = "emailNotification")
@ConditionalOnProperty(prefix = "notification", name = "service")
public NotificationSender notificationSender() {
    return new EmailNotification();
}

如果配置該屬性則加載:

notification.service=email

屬性值為boolean類(lèi)型

@Bean(name = "emailNotification")
@ConditionalOnProperty(prefix = "notification", name = "enable")
public NotificationSender notificationSender() {
    return new EmailNotification();
}

如果配置為true則加載

notification.enable=true

如果缺失或?yàn)閒alse則不加載

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用SpringBoot獲取所有接口的路由

    使用SpringBoot獲取所有接口的路由

    這篇文章主要介紹了使用SpringBoot獲取所有接口的路由方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java虛擬機(jī)GC日志分析

    Java虛擬機(jī)GC日志分析

    這篇文章主要介紹了Java虛擬機(jī)GC日志分析,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • 通過(guò)原理解析Spring mvc的內(nèi)置編碼過(guò)濾器

    通過(guò)原理解析Spring mvc的內(nèi)置編碼過(guò)濾器

    這篇文章通過(guò)原理主要給大家解析了關(guān)于Spring mvc的內(nèi)置編碼過(guò)濾器的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-09-09
  • Java?設(shè)計(jì)模式以虹貓藍(lán)兔的故事講解原型模式

    Java?設(shè)計(jì)模式以虹貓藍(lán)兔的故事講解原型模式

    原型模式是用于創(chuàng)建重復(fù)的對(duì)象,同時(shí)又能保證性能。這種類(lèi)型的設(shè)計(jì)模式屬于創(chuàng)建型模式,它提供了一種創(chuàng)建對(duì)象的最佳方式,今天通過(guò)本文給大家介紹下Java 原型設(shè)計(jì)模式,感興趣的朋友一起看看吧
    2022-04-04
  • Java中自動(dòng)裝箱、拆箱引起的耗時(shí)詳解

    Java中自動(dòng)裝箱、拆箱引起的耗時(shí)詳解

    這篇文章主要給大家介紹了關(guān)于Java中自動(dòng)裝箱、拆箱引起的耗時(shí)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • SpringBoot實(shí)現(xiàn)動(dòng)態(tài)端口切換黑魔法

    SpringBoot實(shí)現(xiàn)動(dòng)態(tài)端口切換黑魔法

    這篇文章主要為大家詳細(xì)介紹了SpringBoot如何實(shí)現(xiàn)動(dòng)態(tài)端口切換黑魔法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-12-12
  • 服務(wù)器CPU高居不下,JAVA線程占用排查方式

    服務(wù)器CPU高居不下,JAVA線程占用排查方式

    這篇文章主要介紹了服務(wù)器CPU高居不下,JAVA線程占用排查方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(8)

    Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(8)

    下面小編就為大家?guī)?lái)一篇Java基礎(chǔ)的幾道練習(xí)題(分享)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧,希望可以幫到你
    2021-07-07
  • Spring中@PropertySource配置的用法

    Spring中@PropertySource配置的用法

    這篇文章主要介紹了Spring中@PropertySource配置的用法,@PropertySource 和 @Value
    組合使用,可以將自定義屬性文件中的屬性變量值注入到當(dāng)前類(lèi)的使用@Value注解的成員變量中,需要的朋友可以參考下
    2023-11-11
  • Java 帶參數(shù)與帶返回值的方法的定義和調(diào)用

    Java 帶參數(shù)與帶返回值的方法的定義和調(diào)用

    在java中,方法就是用來(lái)完成解決某件事情或?qū)崿F(xiàn)某個(gè)功能的辦法。方法實(shí)現(xiàn)的過(guò)程中,會(huì)包含很多條語(yǔ)句用于完成某些有意義的功能——通常是處理文本,控制輸入或計(jì)算數(shù)值,這篇文章我們來(lái)探究一下帶參數(shù)與帶返回值的方法的定義和調(diào)用
    2022-04-04

最新評(píng)論

长宁县| 南宫市| 高雄县| 汉川市| 文成县| 英山县| 赞皇县| 榆林市| 湘潭县| 宣城市| 上高县| 青田县| 花莲县| 林西县| 临桂县| 肃北| 稻城县| 高碑店市| 渑池县| 丽水市| 奉新县| 调兵山市| 吉林市| 淳安县| 鲁甸县| 阳原县| 博爱县| 宁南县| 荆州市| 通许县| 开化县| 牙克石市| 临沭县| 怀化市| 凤阳县| 交口县| 桃园市| 基隆市| 安徽省| 旬邑县| 房产|