正在开发一个使用Spring和maven的大型项目。然而,将会部署不同的环境,例如开发,测试,分期和生产。弹簧属性文件配置和maven集成在不同的env
该项目对于不同的环境有很多不同的属性。
是否有任何优雅的方式来解决这种事情,所以我可以使用它作为模板并在其他项目中重用。
我想春天的功能,如配置文件,占位符等将被使用。
有没有什么好的教程或一些博客让我得到更好的解决方案?
正在开发一个使用Spring和maven的大型项目。然而,将会部署不同的环境,例如开发,测试,分期和生产。弹簧属性文件配置和maven集成在不同的env
该项目对于不同的环境有很多不同的属性。
是否有任何优雅的方式来解决这种事情,所以我可以使用它作为模板并在其他项目中重用。
我想春天的功能,如配置文件,占位符等将被使用。
有没有什么好的教程或一些博客让我得到更好的解决方案?
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>
和运行所有你的Maven与“-P DEV”建立开发提出和“-P转移”分期提出的例子。
您可以使用属性configurer。事情是这样的:
<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容器)中使用的一些config目录下在每个不同的环境。
在这种情况下,属性存储在${catalina.home}/conf
之下,其中catalina.home
是指Tomcat
的安装目录。