欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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)用程序開發(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名稱的值,與name不可同時(shí)使用
    String[] value() default {};
 
//配置屬性名稱的前綴
    String prefix() default "";
 
//配置屬性完整名稱或部分名稱
//可與prefix組合使用,組成完整的配置屬性名稱,與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類型,則屬性值為true 加載該bean,屬性值為false 不加載該bean。
  • 如果屬性值不為boolean類型,則有該屬性 則加載bean,沒(méi)有該屬性則不加載。

示例

屬性值不是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

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

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

相關(guān)文章

  • Java 爬蟲數(shù)據(jù)異步加載如何解決

    Java 爬蟲數(shù)據(jù)異步加載如何解決

    這篇文章主要介紹了Java 爬蟲遇上數(shù)據(jù)異步加載,試試這兩種辦法!問(wèn)題如何解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • 詳細(xì)圖解Java中字符串的初始化

    詳細(xì)圖解Java中字符串的初始化

    字符串廣泛應(yīng)用在Java編程中,在Java中字符串屬于對(duì)象,Java提供了String類來(lái)創(chuàng)建和操作字符串,下面這篇文章主要給大家介紹了Java中字符串初始化的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • 淺談Java多線程實(shí)現(xiàn)及同步互斥通訊

    淺談Java多線程實(shí)現(xiàn)及同步互斥通訊

    下面小編就為大家?guī)?lái)一篇淺談Java多線程實(shí)現(xiàn)及同步互斥通訊。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04
  • windows系統(tǒng)使用mvn命令打包并指定jdk路徑方式

    windows系統(tǒng)使用mvn命令打包并指定jdk路徑方式

    這篇文章主要介紹了windows系統(tǒng)使用mvn命令打包并指定jdk路徑方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Shiro安全框架的主要組件及認(rèn)證過(guò)程簡(jiǎn)介

    Shiro安全框架的主要組件及認(rèn)證過(guò)程簡(jiǎn)介

    這篇文章主要介紹了Shiro安全框架的主要組件及認(rèn)證過(guò)程簡(jiǎn)介,Shiro?是一個(gè)強(qiáng)大靈活的開源安全框架,可以完全處理身份驗(yàn)證、授權(quán)、加密和會(huì)話管理,本文就來(lái)介紹一下此框架的核心組成,需要的朋友可以參考下
    2023-08-08
  • java使用ArrayList實(shí)現(xiàn)斗地主(無(wú)序版)

    java使用ArrayList實(shí)現(xiàn)斗地主(無(wú)序版)

    這篇文章主要為大家詳細(xì)介紹了java使用ArrayList實(shí)現(xiàn)斗地主,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • 解決fcitx輸入法在IDEA中輸入法候選框無(wú)法跟隨光標(biāo)移動(dòng)的問(wèn)題

    解決fcitx輸入法在IDEA中輸入法候選框無(wú)法跟隨光標(biāo)移動(dòng)的問(wèn)題

    這篇文章主要介紹了解決fcitx輸入法在Intellij IDEA開發(fā)工具中輸入法候選框無(wú)法跟隨光標(biāo)移動(dòng)的問(wèn)題,代碼簡(jiǎn)單易懂對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Android中PreferenceActivity使用詳解

    Android中PreferenceActivity使用詳解

    本文主要介紹了Android中PreferenceActivity使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Java并發(fā)編程之Semaphore(信號(hào)量)詳解及實(shí)例

    Java并發(fā)編程之Semaphore(信號(hào)量)詳解及實(shí)例

    這篇文章主要介紹了Java并發(fā)編程之Semaphore(信號(hào)量)詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • jstack+jdb命令查看線程及死鎖堆棧信息的實(shí)例

    jstack+jdb命令查看線程及死鎖堆棧信息的實(shí)例

    這篇文章主要介紹了jstack+jdb命令查看線程及死鎖堆棧信息的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-02-02

最新評(píng)論