动态设置spring配置PropertyPlaceholderConfigurer location的路径

  在spring中经常将常用的属性放在properties文件中,然后再spring的配置文件中使用PropertyPlaceholderConfigurer引用properties文件。
对于web项目来说,可以通过相对路径得到配置文件的路径,而对于可执行项目,在团队开发中就需要根据各自的环境来指定properties配置文件的路径了。
对于这种情况可以将配置文件的路径放在java虚拟机JVM的自定义变量中,例如:-Dconfig.path=/yourpath/1.properties
如下在配置文件中使用$config.path来引用JVM自定义变量的值就可以了:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN""http://www.springframework.org/dtd/spring-beans.dtd"> 
<beans>        
<bean id="configBean"  class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">           
  <property name="location">               
    <value>$config.path</value>           
  </property>       
</bean> 
<bean id="helloBean" class="onlyfun.caterpillar.HelloBean">           
  <property name="helloWord">               
    <value>${onlyfun.caterpillar.helloWord}</value>           
  </property>       
</bean>
</beans>

 

posted @ 2016-11-11 13:34  如.若  阅读(3560)  评论(0编辑  收藏  举报