【问题标题】:Spring MVC | Load Environment specific Property Files春天MVC |加载环境特定的属性文件
【发布时间】:2019-07-03 08:17:45
【问题描述】:

我正在开发一个 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 只读取与该环境相关的属性。

我很想听听你们的 cmets 以及围绕它的最佳实践。在更高的环境中,我们将有一个 Jenkins 管道为我们进行构建。

【问题讨论】:

    标签: spring spring-mvc properties production-environment


    【解决方案1】:

    我认为您正在尝试根据配置文件更改属性文件。因此,您可以通过在 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-28
      • 2019-08-24
      • 1970-01-01
      • 1970-01-01
      • 2016-12-09
      • 2017-10-29
      • 2015-11-22
      相关资源
      最近更新 更多