iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >ConditionalOnProperty配置swagger不生效如何解决
  • 112
分享到

ConditionalOnProperty配置swagger不生效如何解决

2023-07-02 09:07:26 112人浏览 独家记忆
摘要

这篇文章主要介绍“ConditionalOnProperty配置swagger不生效如何解决”,在日常操作中,相信很多人在ConditionalOnProperty配置swagger不生效如何解决问题上存在疑惑,小编查阅了各式资料,整理出简

这篇文章主要介绍“ConditionalOnProperty配置swagger不生效如何解决”,在日常操作中,相信很多人在ConditionalOnProperty配置swagger不生效如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ConditionalOnProperty配置swagger不生效如何解决”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

ConditionalOnProperty配置swagger不生效

问题

在正式环境准备关闭Swagger,添加了ConditionalOnProperty注解进行配置,结果发现怎么也无法关闭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)处的配置已经生效,但由于1)处有配置所以造成这个问题。

解决方案

将1)处的配置关闭即可。

@ConditionalOnProperty理解和使用

在Spring应用程序开发的过程中,可能需要根据配置属性的存在和值有条件地创建一些bean,@ConditionalOnProperty注解用于仅在环境属性存在且具有特定值时才启用 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),以下为匹配规则

ConditionalOnProperty配置swagger不生效如何解决

解析:假如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则不加载

到此,关于“ConditionalOnProperty配置swagger不生效如何解决”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: ConditionalOnProperty配置swagger不生效如何解决

本文链接: https://www.lsjlt.com/news/340842.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • ConditionalOnProperty配置swagger不生效如何解决
    这篇文章主要介绍“ConditionalOnProperty配置swagger不生效如何解决”,在日常操作中,相信很多人在ConditionalOnProperty配置swagger不生效如何解决问题上存在疑惑,小编查阅了各式资料,整理出简...
    99+
    2023-07-02
  • ConditionalOnProperty配置swagger不生效问题及解决
    目录ConditionalOnProperty配置swagger不生效问题问题原因解决方案@ConditionalOnProperty理解和使用注解源码属性值不是boolean类型的...
    99+
    2024-04-02
  • quartz配置不生效如何解决
    要解决Quartz配置不生效的问题,您可以按照以下步骤操作:1. 确保在您的项目中正确地配置了Quartz。首先,检查您的pom.x...
    99+
    2023-09-13
    quartz
  • plsql配置oci不生效如何解决
    要解决PL/SQL配置OCI不生效的问题,可以尝试以下几个步骤:1. 确认你的环境是否正确配置了OCI。要使用OCI,需要确保你的O...
    99+
    2023-09-26
    plsql
  • log4j配置文件不生效如何解决
    要解决log4j配置文件不起作用的问题,可以按照以下步骤进行排查和解决:1. 确保log4j配置文件的文件名为“log4j.prop...
    99+
    2023-10-19
    log4j
  • ubuntu配置静态ip不生效如何解决
    如果你的Ubuntu配置静态IP不生效,有几种常见的解决方法:1. 检查配置文件:确保你正确地编辑了`/etc/network/in...
    99+
    2023-09-15
    ubuntu
  • linux网卡配置网关不生效如何解决
    如果在Linux上配置了网卡的网关但是不生效,可能有以下几种原因和解决方法:1. 网关地址错误:确保设置的网关地址是正确的,与网络环...
    99+
    2023-09-15
    linux
  • vue配置代理vue.config.js后不生效如何解决
    本文小编为大家详细介绍“vue配置代理vue.config.js后不生效如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue配置代理vue.config.js后不生效如何解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一...
    99+
    2023-07-05
  • swagger @ApiModel添加实体类不生效的解决
    目录@ApiModel添加实体类不生效 Models实体类无法显示解决办法@ApiModel添加实体类不生效  swagger, @ApiModel, Model...
    99+
    2024-04-02
  • ubuntu配置静态ip重启不生效如何解决
    如果配置了静态IP地址但是重启后不生效,可以尝试以下几种解决方法:1. 检查配置文件:确保静态IP地址的配置文件正确无误。在Ubun...
    99+
    2023-09-01
    ubuntu
  • centos配置网卡静态ip不生效如何解决
    如果在CentOS配置了静态IP但不生效,可能有以下几种原因和解决方法:1. 网卡名称不正确:CentOS 7之后使用了Predic...
    99+
    2023-09-21
    centos
  • plsql配置oci不生效怎么解决
    如果配置PL/SQL的OCI没有生效,可能是由于以下几种原因导致的: 配置错误:检查一下配置文件中的相关配置是否正确,比如路径是...
    99+
    2024-04-09
    plsql
  • uniapp配置meta不生效怎么解决
    Uniapp 是一种基于 Vue.js 的跨平台应用开发框架,其开发简单、易上手,可以快速构建出 iOS、Android 和 H5 页面,成为现在移动应用开发的重要工具之一。然而,跨平台应用的开发也带来了一些问题,比如本文即是解决 unia...
    99+
    2023-05-14
  • 如何解决Spring Security的权限配置不生效问题
    这篇文章主要介绍如何解决Spring Security的权限配置不生效问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Spring Security权限配置不生效在集成Spring Security做接口...
    99+
    2023-06-29
  • springboot自定义配置Boolean属性不生效如何解决
    这篇文章主要介绍“springboot自定义配置Boolean属性不生效如何解决”,在日常操作中,相信很多人在springboot自定义配置Boolean属性不生效如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对...
    99+
    2023-06-29
  • 解决Springboot配置excludePathPatterns不生效的问题
    目录Springboot配置excludePathPatterns不生效先说解决方案使用excludePathPatterns过滤Swagger路径失败Springboot配置exc...
    99+
    2022-11-13
    Springboot配置 excludePathPatterns不生效 Springboot excludePathPatterns
  • 配置文件php.ini不生效怎么解决
    今天小编给大家分享一下配置文件php.ini不生效怎么解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。配置文件“php.i...
    99+
    2023-06-29
  • log4j配置文件不生效怎么解决
    当log4j配置文件不生效时,可以按照以下步骤来解决问题: 检查配置文件路径:确保log4j配置文件的路径是正确的,并且在类路径...
    99+
    2023-10-25
    log4j
  • centos7配置静态ip不生效怎么解决
    如果在CentOS 7上配置静态IP地址但不生效,可能有以下几个原因和解决方法: 检查网络接口名称:使用ifconfig命令或i...
    99+
    2023-10-24
    centos7
  • 解决SpringSecurity的权限配置不生效问题
    目录SpringSecurity权限配置不生效1、不生效的例子 2、解决办法SpringSecurity动态配置权限导入依赖相关配置创建UserMapper类&&a...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作