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

Posted 如若

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了动态设置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>

 

以上是关于动态设置spring配置PropertyPlaceholderConfigurer location的路径的主要内容,如果未能解决你的问题,请参考以下文章

spring实现动态定时任务

Spring的MVC国际化,动态设置默认语言如何实现?

Spring JdbcTemplate,如何在 Spring config XML 文件中动态设置用户名和密码?

Spring实现动态数据源,支持动态加入删除和设置权重及读写分离

从数据库中动态检索 Spring Boot CORS 配置以获取控制器中的特定方法

基于Spring+Mybatis的多数据源动态切换