我正在处理Spring MVC项目(版本> 4.x)。这不是一个Spring Boot项目。 我需要一种机制,可以维护特定于环境的文件夹,例如“ DEV”,“ PROD”,“ UAT”等。这些文件夹中的每个文件夹都具有特定于该特定环境的属性。 我已将我的PropertiesPlaceholder配置为:
<context:property-placeholder
location="classpath:application-default.properties, classpath:application-${env}.properties"
ignore-unresolvable="true" />
我的属性定义如下:
-src
-main
-Resources
-Properties
-application-dev.properties
-application-prod.properties
我希望占位符$ {env}在运行时得到解析,以便propertyplaceholder只读取与该环境相关的属性。
我很想听听您的评论和最佳实践。在更高的环境中,我们将有一条Jenkins管道为我们进行构建。
答案 0 :(得分:0)
我认为您正在尝试根据配置文件更改属性文件。因此,您可以通过在web.xml文件中添加以下几行来做到这一点:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/app-config.xml</param-value>
</context-param>
<context-param>
<param-name>spring.profiles.active</param-name>
<param-value>dev</param-value>
</context-param>
只需使用Spring允许的标准名称,它将选择适当的.properties
文件。另外,您可以在启动应用程序时使用以下命令。作为参数传递的配置文件名称将在应用程序启动期间激活。
-Dspring.profiles.active=dev