SpringBoot实现启动一键切换多配置在也不用那么麻烦了

简介: SpringBoot实现启动一键切换多配置在也不用那么麻烦了

介绍:

SpringBoot我有三个配置如果切来切去还要修改配置文件显然是不合理的。

application-dev.yml  

application-prod.yml  

application-test.yml  

application.yml

解决思路:

不同的环境可能需要不同的配置。为了解决这个问题,可以采用以下几种方法进行多环境配置:

使用Spring Boot的profile功能:

1.Spring Boot支持基于profile的属性配置。你可以在application.yml文件中使用spring.profiles.active属性来指定当前激活的profile。根据不同的环境,可以创建不同的profile配置文件,

例如application-dev.yml

application-test.yml

application-prod.yml

在运行时,通过设置不同的环境变量或命令行参数来激活相应的profile。

1.修改pom.xml文件
<profiles>
        <!-- 开发环境 -->
        <profile>
            <id>dev</id>
            <properties>
                <package.environment>dev</package.environment>
            </properties>
            <activation>
                <!-- 默认激活这个配置 使用dev-->
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
 
        <!--测试环境-->
        <profile>
            <id>test</id>
            <properties>
                <package.environment>test</package.environment>
            </properties>
        </profile>
 
        <!--生产环境-->
        <profile>
            <id>prod</id>
            <properties>
                <package.environment>prod</package.environment>
            </properties>
        </profile>
    </profiles>
    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <includes>
                    <include>application.yml</include>
                    <include>application-${package.environment}.yml</include>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
    </build>
2.配置文件取属性(application.yml)
server:
  port: 9000
  tomcat:
    basedir: /.
 
spring:
  profiles:
    active: @package.environment@  # 指定环境
 
3.根据不同属性启动(启动的时候可以勾选dev就是dev,也可以勾选其他)

4.打包
# 开发环境
mvn clean package -P dev
 
# 测试环境
mvn clean package -P test
 
# 生产环境
mvn clean package -P prod


相关文章
Springboot项目启动的三种方式
Springboot项目启动的三种方式
262 0
|
Java
springboot启动时执行
springboot启动时执行
63 0
|
Java
SpringBoot:Jar包工程启动、停止、重启脚本
SpringBoot:Jar包工程启动、停止、重启脚本
1172 0
|
6月前
|
缓存 Java 数据库
springboot启动加载
springboot启动加载
|
6月前
|
Java Linux
SpringBoot项目快速启动停止脚本
SpringBoot项目快速启动停止脚本
53 0
|
容器
31SpringBoot启动配置原理
31SpringBoot启动配置原理
40 0
|
Java
Springboot中实现手动启动和暂停任务的功能
Springboot中实现手动启动和暂停任务的功能
429 0
启动springboot web后台项目
启动springboot web后台项目
|
Java Spring
SpringBoot启动时执行任务
SpringBoot启动时执行任务
118 0