pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<profiles>
<profile>
<!-- 本地开发环境 -->
<id>dev</id>
<properties>
<profiles.active>dev</profiles.active>
<spring.active>dev</spring.active>
</properties>
<!-- 默认是dev环境 -->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<!-- 生产环境 -->
<id>test</id>
<properties>
<profiles.active>test</profiles.active>
<spring.active>test</spring.active>
</properties>
</profile>
<profile>
<!-- 生产环境 -->
<id>prod</id>
<properties>
<profiles.active>prod</profiles.active>
<spring.active>prod</spring.active>
</properties>
</profile>
</profiles>
<build>
<resources>
<!--多环境配置,过滤 (若使用Nacos,不用配置这个filter)-->
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
</project>
application.yaml
application.yaml
spring:
profiles:
active: @profiles.active@
每次切换环境要刷新
Nacos
application.yaml
spring:
profiles:
active: @profiles.active@
application:
name: example
nacos:
config:
server-addr: localhost:8848
ExampleApplication.java
- List item
@NacosPropertySource(dataId = "${spring.application.name}-${spring.profiles.active}", autoRefreshed = true,type = ConfigType.YAML)
public class ExampleApplication {}