作用:启动后修改spring文件配置,动态加载不同的配置文件
步骤:
1.修改catalina.sh文件,添加如下代码在文件头部:
JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128M -Xmx2048m -Xms512m -Dfile.encoding=UTF-8 -Dmode=develop"
2.spring中加载属性文件配置:
<!-- 属性配置 -->
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>/WEB-INF/finance-webapp-${mode}.properties</value>
</list>
</property>
</bean>
3.属性文件列表:
finance-webapp-develop.properties
finance-webapp-online.properties
finance-webapp-stage.properties
finance-webapp-test.properties
结果:系统启动时,修改${mode}为develop,从而加载finance-webapp-develop.properties文件配置
如果是idea开发工具,直接修改catalina.sh不会生效,需要在idea的tomcat配置VM options中添加'-Dmode=develop'
后续:
利用该配置控制定时器的执行:
只在生产环境执行代码逻辑
if(!StringUtils.equals(System.getProperty("mode"), "online")){
return;
}