欢迎来到徐庆高(Tea)的个人博客网站
磨难很爱我,一度将我连根拔起。从惊慌失措到心力交瘁,我孤身一人,但并不孤独无依。依赖那些依赖我的人,信任那些信任我的人,帮助那些给予我帮助的人。如果我愿意,可以分裂成无数面镜子,让他们看见我,就像看见自己。察言观色和模仿学习是我的领域。像每个深受创伤的人那样,最终,我学会了随遇而安。
当前位置: 日志文章 > 详细内容

SpringBoot中spring.profiles.active配置实现多环境区分

2025年08月22日 Java
spring boot允许通过命名约定按照一定的格式application-{profile}.properties来定义多个配置文件,然后通过在application.properties的spri

spring boot允许通过命名约定按照一定的格式application-{profile}.properties来定义多个配置文件,然后通过在application.propertiesspring.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 多环境区分内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!