Spring Boot 如何定义多套不同环境配置?
在Spring Boot中,你可以使用application.properties
或application.yml
文件来定义应用程序的配置。为了管理不同环境的配置,比如开发环境、测试环境、生产环境等,你可以创建多个配置文件,并使用Spring Boot的激活配置文件特性来加载相应的配置。
下面是如何定义和使用多套不同环境配置的步骤:
-
创建多个配置文件 在
src/main/resources
目录下,你可以创建多个配置文件,例如:application-dev.properties
或application-dev.yml
(开发环境)application-test.properties
或application-test.yml
(测试环境)application-prod.properties
或application-prod.yml
(生产环境)
这些文件分别包含对应环境的配置信息。
-
在
application.properties
或application.yml
中指定激活的配置文件 在application.properties
中,你可以使用spring.profiles.active
属性来指定激活的配置文件,例如:# application.properties spring.profiles.active=dev
在
application.yml
中,你可以使用相同的属性:# application.yml spring: profiles: active: dev
通过修改
spring.profiles.active
的值,你可以在不同的环境中激活不同的配置文件。 -
使用命令行激活配置文件 当运行Spring Boot应用程序时,你可以通过命令行参数
--spring.profiles.active
来激活特定的配置文件,例如:./mvnw spring-boot:run -Dspring-boot.run.profiles=dev
或者使用
java -jar
命令时:java -jar target/my-app-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev
-
使用环境变量激活配置文件 你也可以使用环境变量
SPRING_PROFILES_ACTIVE
来激活配置文件,例如:export SPRING_PROFILES_ACTIVE=dev ./mvnw spring-boot:run
或者在Windows系统中:
set SPRING_PROFILES_ACTIVE=dev java -jar my-app-0.0.1-SNAPSHOT.jar
-
在IDE中激活配置文件 如果你使用的是IDE(如IntelliJ IDEA、Eclipse等),你通常可以在运行配置中设置激活的配置文件。
通过上述步骤,你可以根据不同的环境加载不同的配置。当你激活一个配置文件时,Spring Boot会自动加载与激活配置文件名匹配的配置文件(不包括application-
前缀)。
例如,如果你激活了dev
配置文件,Spring Boot会加载application-dev.properties
或application-dev.yml
中的配置。