SpringBoot+Maven多环境配置
当我们在使用Spring Boot + Maven进行应用程序开发时,经常需要在不同的环境中配置不同的应用程序属性。例如,开发、测试和生产环境可能需要不同的数据库连接、日志级别和安全设置。为了方便地在不同的环境中部署和配置应用程序,我们可以使用Spring Boot提供的多环境配置功能。本文将介绍如何在Spring Boot应用程序中使用Maven进行多环境配置。
添加maven依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
添加maven插件
这里解决待会的@符号报错的问题
<!--读取maven的配置-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
<delimiters>
<delimiter>@</delimiter>
</delimiters>
<useDefaultDelimiters>false</useDefaultDelimiters>
</configuration>
<version>3.2.0</version>
</plugin>
maven的多环境配置
这里我们配置了两个环境
- MrL
- prod
<profiles>
<profile>
<id>MrL</id>
<properties>
<profiles.active>MrL</profiles.active>
</properties>
</profile>
<!--多环境配置-->
<profile>
<id>prod</id>
<activation>
<!-- 默认激活-->
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<profiles.active>prod</profiles.active>
</properties>
</profile>
</profiles>
建立yml文件
主yml文件配置(application.yml)
#多环境配:主配置文件
spring:
profiles:
active: @profiles.active@
其他yml的配置
application-MrL.yml
# 测试环境(MrL)
spring:
config:
activate:
on-profile: MrL
server:
port: 8080
application-prod.yml
# 部署环境(produce 生产环境)
spring:
config:
activate:
on-profile: prod
server:
port: 8080
这里的MrL要和maven配置中的 profiles.active里的名字要匹配
刷新maven
此时会有这个可以选择你要运行的环境