正如 M. Deinum 在他的评论中提到的,最简单的方法是使用特定于配置文件的配置。
Spring Boot 允许您有一个通用配置文件 (),然后是多个其他文件,每个文件都特定于一个配置文件 ()。application.properties
application-${profile}.properties
例如:
-
application.properties
- 通用配置
-
application-dev.properties
- 开发人员配置文件的配置
-
application-ci.properties
- ci 配置文件的配置
例如,如果您的应用程序使用“ci”配置文件运行,则将加载默认配置文件以及 ci 配置文件(将包含 ci 配置文件的数据源配置属性)。
要切换配置文件,可以使用以下选项之一:
- JVM 属性:
-Dspring.profiles.active=ci
- 命令行开关:
--spring.profiles.active=dev
对于单元测试,您可以在测试类上使用注释来告诉Spring单元测试应与测试配置文件一起运行。@ActiveProfiles("test")
此外,如果不想将生产数据库凭据与源代码一起存储,则可以在生产中部署应用时指定外部配置文件:
- 使用命令行开关:
--spring.config.location=/srv/myapp/config.properties
- 使用 JVM 属性:
-Dspring.config.location=/srv/myapp/config.properties