spring boot允许通过命名约定按照一定的格式application-{profile}.properties
来定义多个配置文件,然后通过在application.properties
的spring.profiles.active
来具体激活一个或者多个配置文件,如果没有没有指定任何profile的配置文件的话,spring boot默认会启动application-default.properties。
在项目开发中有多个配置文件
application-dev.yml //开发环境 application-test.yml //测试环境 application-pro.yml //生产环境
1、只需要在源配置文件application.yaml上面增加下面的一个配置,就代表指定使用哪一个配置文件:
spring: profiles: active: dev #当前使用application-dev.yml配置
2、也可以在java启动参数中指定,动态选择运行环境
执行java -jar xxx.jar --spring.profiles.active=test
,运行测试环境的配置
执行java -jar xxx.jar --spring.profiles.active=prod
,运行生产环境的配置
3、也可以动态选择运行环境, 当没有指定环境的时候, 默认选择dev环境
spring: profiles: active: ${profile:dev} #当前使用application-dev.yml配置
4、在项目代码中使用@profile区分环境,使某些代码在指定环境下执行
下面类只在dev环境下执行,其他环境不会生效
@component @slf4j @profile("dev") //生产环境执行. public class initotherservice implements applicationrunner { @override public void run(applicationarguments args) throws exception { // todo } }
到此这篇关于springboot中spring.profiles.active配置实现多环境区分的文章就介绍到这了,更多相关springboot 多环境区分内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论