2个选项:
- 为每个环境生成
common/application.properties
使用和过滤文件。configuration-maven-plugin
现在已经过时了。
- 用于
application-<env>.properties
每个环境并-Dspring.profiles.active=<env>
在应用程序启动时传递 as VM 选项。Spring 会自动从正确的文件中获取属性。
在选项 2 中,您将使用 application-.properties 覆盖 application.properties 中存在的任何内容。因此,您不必只添加每个环境需要更改的属性。
例如:
你application.properties
可以拥有
logging.level.root=WARN
logging.level.org.apache=WARN
logging.level.org.springframework=WARN
你application-dev.properties
可以拥有
logging.level.org.springframework=DEBUG
这意味着,当您使用dev
配置文件启动应用程序时,spring 需要
logging.level.root=WARN
logging.level.org.apache=WARN
logging.level.org.springframework=DEBUG
编辑 :
此外,您可以在课堂上尝试以下内容。(Spring 将使用 config-dev.properties 中的值覆盖 config.properties 中的值)。ignoreResourceNotFound
将确保即使找不到相应的文件,应用程序仍会以默认值启动。
@Configuration
@PropertySource("classpath:config.properties")
@PropertySource(value = "classpath:config-${spring.profiles.active}.properties", ignoreResourceNotFound = true)