由于正在使用 Spring 和 maven 开发一个大项目。然而,将有不同的环境需要部署,例如开发、测试、登台和生产。
该项目针对不同的环境具有许多不同的属性。
有什么优雅的方法可以解决这种事情,所以我可以把它作为模板,在其他项目中重用。
我猜将使用诸如配置文件、占位符等弹簧功能。
是否有任何好的教程或博客让我获得更好的解决方案?
由于正在使用 Spring 和 maven 开发一个大项目。然而,将有不同的环境需要部署,例如开发、测试、登台和生产。
该项目针对不同的环境具有许多不同的属性。
有什么优雅的方法可以解决这种事情,所以我可以把它作为模板,在其他项目中重用。
我猜将使用诸如配置文件、占位符等弹簧功能。
是否有任何好的教程或博客让我获得更好的解决方案?
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 构建。
您可以使用属性配置器。像这样的东西:
<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}/conf
wherecatalina.home
指Tomcat
的安装目录下。