2

由于正在使用 Spring 和 maven 开发一个大项目。然而,将有不同的环境需要部署,例如开发、测试、登台和生产。

该项目针对不同的环境具有许多不同的属性。

有什么优雅的方法可以解决这种事情,所以我可以把它作为模板,在其他项目中重用。

我猜将使用诸如配置文件、占位符等弹簧功能。

是否有任何好的教程或博客让我获得更好的解决方案?

4

2 回答 2

3

Maven 概念配置文件可以成为您的朋友:

    <profile>
        <id>DEV</id>
        <build>
            <resources>
                <resource>
                    <directory>src/test/dev-resources</directory>
                </resource>
                <resource>
                    <directory>src/main/dev-resources</directory>
                </resource>
            </resources>
         </build>
   </profile>
   <profile>
            <id>STAGING</id>
            <build>
              <resources>
                <resource>
                    <directory>src/test/staging-resources</directory>
                </resource>
                <resource>
                    <directory>src/main/staging-resources</directory>
                </resource>
              </resources>
            </build>
    </profile>

并使用“-P DEV”为开发建议和“-P STAGING”用于暂存建议运行所有 Maven 构建。

于 2013-09-05T13:34:35.090 回答
0

您可以使用属性配置器。像这样的东西:

<bean id="propertyConfigurer"
      class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="ignoreResourceNotFound" value="true"/>
    <property name="locations">
        <list>
            <value>file:${catalina.home}/conf/your_props.properties</value>
        </list>
    </property>
</bean>

您可以将您的属性(在这种情况下Tomcat使用 servlet 容器)放在每个不同环境中的某个配置目录下。

在这种情况下,属性存储在${catalina.home}/confwherecatalina.homeTomcat的安装目录下。

于 2013-09-05T13:03:19.663 回答