动态设置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>
时间: 2024-09-29 20:49:38

动态设置spring配置PropertyPlaceholderConfigurer location的路径的相关文章

自定义Spring ApplicationContext 支持动态订阅spring配置

public class StringXmlApplicationContext extends AbstractXmlApplicationContext { private Resource[] configResources; public StringXmlApplicationContext(String stringXml) { this(new String[] { stringXml }, null); } public StringXmlApplicationContext(S

Mybatis 和 Spring配置

一.使用的jar包就不详细讲解了,下载了Mybatis 和 Spring 的jar包基本上都添加上去了. 一图概括:(这是我使用的ar包,有些不是Mybatis 和 Spring 的 ) 二. web.xml配置文件 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns

spring配置文件applicationContext.xml的路径设置

先看web.xml 配置 1 <!-- 加载Spring容器配置 --> 2 <listener> 3 <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 4 </listener> 5 6 <!-- 设置Spring容器加载所有的配置文件的路径 --> 7 <context-param> 8 <

Spring AOP根据JdbcTemplate方法名动态设置数据源

说明:现在的场景是,采用数据库(Mysql)复制(binlog)的方式在两台不同服务器部署并配置主从(Master-Slave)关系: 并需要程序上的数据操作方法来访问不同的数据库,比如,update方法访问主数据库服务器,query方法访问从数据库服务器. 即把"增删改"和"查"分开访问两台服务器,当然两台服务器的数据库同步事先已经配置好. 然而程序是早已完成的使用Spring JdbcTemplate的架构,如何在不修改任何源代码的情况下达到<本文标题&g

spring框架中多数据源创建加载并且实现动态切换的配置实例代码

原文:spring框架中多数据源创建加载并且实现动态切换的配置实例代码 源代码下载地址:http://www.zuidaima.com/share/1774074130205696.htm 在我们的项目中遇到这样一个问题:我们的项目需要连接多个数据库,而且不同的客户在每次访问中根据需要会去访问不同的数据库.我们以往在spring和hibernate框架中总是配置一个数据源,因而sessionFactory的dataSource属性总是指向这个数据源并且恒定不变,所有DAO在使用sessionFa

Spring boot 默认静态资源路径与手动配置访问路径的方法

这篇文章主要介绍了Spring boot 默认静态资源路径与手动配置访问路径的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下 在application.propertis中配置 ##端口号 server.port=8081 ##默认前缀 spring.mvc.view.prefix=/ ## 响应页面默认后缀 spring.mvc.view.suffix=.html # 默认值为 /** spring.mvc.static-path-pattern=/** # 这里设置要指向的路径,多个

spring 配置资源路径时候,classpath:/,classpath:,不带前缀的区别

/** * spring 配置资源路径时候,classpath:/,classpath:,不带前缀的区别, * 其实没区别,spring 规定 "classpath:" pseudo-URL,伪url路径,在处理这种路径前缀 * 时候,会把这个伪url去掉. * @author doctor * * @time 2014年12月2日 下午6:28:12 */ public class DefaultResourceLoaderPractice { @Test public void t

Spring配置动态数据源-读写分离和多数据源

在现在互联网系统中,随着用户量的增长,单数据源通常无法满足系统的负载要求.因此为了解决用户量增长带来的压力,在数据库层面会采用读写分离技术和数据库拆分等技术.读写分离就是就是一个Master数据库,多个Slave数据库,Master数据库负责数据的写操作,slave库负责数据读操作,通过slave库来降低Master库的负载.因为在实际的应用中,数据库都是读多写少(读取数据的频率高,更新数据的频率相对较少),而读取数据通常耗时比较长,占用数据库服务器的CPU较多,从而影响用户体验.我们通常的做法

Spring MVC 搭建过程中web.xml配置引入文件的路径问题

为啥要说一下这么low的问题,因为我是一个比较low的人,哈哈.本来我技术有限,没事干自己撘个环境找找乐趣,结果被各种基础问题,弄的一脸蒙蔽.算了不多说,直接说问题. 1.首先说一下java编译后的文件,正常来说我们编写的文件一般都是java文件,但实际上eclipse会帮我们编译成.class文件(在project下有个自动编译),没有编译的话,Project->Build Project 来编译当前的项目 2.上面说的都是很简单的事情,但是简单的再延伸,就可能出一点问题了,重申一下,我比较l