spring 特定环境下不启用配置

今天老曹找我说他们公司因为在正式服启用了Swagger,导致接口暴露,被对手公司爬了数据。
我说这有何难,我正好有两个方法可以帮到你!

一 配置文件自定义启用

我们项目一般会分环境切分为三个配置文件:
application-dev.properties、application-test.properties 和 application-prod.properties
三个配置文件加入配置:swagger.enable = true,正式环境改为 false

然后在配置类上加条件语句:
@Configuration
@ConditionalOnProperty(name = “swagger.enable”, havingValue = “true”)
public class BaseSwaggerConfig {}

二 使用环境注解

!是取反,下面配置意思是,除了 prod 环境,其他环境都打开配置
@Profile("!prod")
@Configuration
public class SwaggerConfig {}

欢迎关注我的公众号:喝酒写代码。这里的小伙伴等你好久啦!
在这里插入图片描述

posted @ 2020-03-06 16:29  慢慢行  阅读(39)  评论(0编辑  收藏  举报