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

ConditionalOnProperty配置swagger不生效問題及解決

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

ConditionalOnProperty配置swagger不生效

問題

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

問題原因

@EnableSwagger2在多個地方進行了配置,如下:

1)應用程序處進行了配置

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

2)swagger處進行了配置

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

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

解決方案

將1)處的配置關閉即可。

@ConditionalOnProperty理解和使用

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

注解源碼

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

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

解析:假如havingValue為空,

  • 屬性值為boolean類型,則屬性值為true 加載該bean,屬性值為false 不加載該bean。
  • 如果屬性值不為boolean類型,則有該屬性 則加載bean,沒有該屬性則不加載。

示例

屬性值不是boolean類型的情況

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

如果配置該屬性則加載:

notification.service=email

屬性值為boolean類型

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

如果配置為true則加載

notification.enable=true

如果缺失或為false則不加載

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

相關文章

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

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

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

    Java虛擬機GC日志分析

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

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

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

    Java?設計模式以虹貓藍兔的故事講解原型模式

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

    Java中自動裝箱、拆箱引起的耗時詳解

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

    SpringBoot實現(xiàn)動態(tài)端口切換黑魔法

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

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

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

    Java日常練習題,每天進步一點點(8)

    下面小編就為大家?guī)硪黄狫ava基礎的幾道練習題(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望可以幫到你
    2021-07-07
  • Spring中@PropertySource配置的用法

    Spring中@PropertySource配置的用法

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

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

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

最新評論

德钦县| 宁远县| 寻乌县| 巫山县| 郎溪县| 涡阳县| 睢宁县| 井冈山市| 青海省| 黄平县| 南陵县| 中卫市| 彭泽县| 荣昌县| 肥西县| 苏尼特左旗| 嫩江县| 丹江口市| 兴海县| 禄丰县| 佳木斯市| 福建省| 黑河市| 且末县| 聊城市| 应城市| 西宁市| 家居| 茂名市| 梓潼县| 噶尔县| 北安市| 大埔区| 察雅县| 奇台县| 旬阳县| 秦安县| 苏尼特右旗| 通化县| 新泰市| 车险|