Spring配置文件中使用系统变量
2013-06-02 21:10
155 查看
在某些特定情形下,可能需要在Spring配置文件(applicationContext.xml)当中引用WEB应用的启动路径,例如C:\tomcat\webapps\cms,步骤如下:
1、配置属性占位符bean,通过它能读取环境变量的值,并应用于配置文件当中
2、在需要WEB启动路径的地方添加占位符(或变量)${webapp.root},如下:
此时${webapp.root}还没有值,我们还必须设法将WEB启动路径写入系统变量当中。可借助spring提供的一个listener来完成。
3、在web.xml文件增加一个listener,用来初始化${webapp.root}这个系统变量;且这个listener在web.xml当中要尽量靠前,以便尽早初始化以供使用。
但是如果在web.xml中已经配置了 org.springframework.web.util.Log4jConfigListener这个监听器,则不需要配置WebAppRootListener了。因为Log4jConfigListener已经包含了WebAppRootListener的功能
1、配置属性占位符bean,通过它能读取环境变量的值,并应用于配置文件当中
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
2、在需要WEB启动路径的地方添加占位符(或变量)${webapp.root},如下:
<property name="url" value="jdbc:sqlite:${webapp.root}/data/database#.db" />
此时${webapp.root}还没有值,我们还必须设法将WEB启动路径写入系统变量当中。可借助spring提供的一个listener来完成。
3、在web.xml文件增加一个listener,用来初始化${webapp.root}这个系统变量;且这个listener在web.xml当中要尽量靠前,以便尽早初始化以供使用。
<listener> <listener-class>org.springframework.web.util.WebAppRootListener</listener-class> </listener>
但是如果在web.xml中已经配置了 org.springframework.web.util.Log4jConfigListener这个监听器,则不需要配置WebAppRootListener了。因为Log4jConfigListener已经包含了WebAppRootListener的功能
相关文章推荐
- SpringCloud(八):使用配置文件自定义Ribbon
- (四)Spring 中注解与配置文件混合使用
- spring如何使用多个xml配置文件
- Spring配置文件中使用ref local与ref bean的区别
- 使用import简化spring的配置文件
- spring读取配置文件PropertyPlaceholderConfigurer类的使用
- Spring 使用Properties配置文件
- Spring使用多个xml配置文件
- spring与jpa整合 简化persistence.xml配置文件 使用属性文件 数据源dbcp访问数据库
- spring与hibernate集成--关于配置文件的最优化使用
- springMVC子容器使用spring父容器配置文件资源
- Spring使用环境变量控制配置文件加载
- 使用Spring 3的@value简化配置文件的读取
- spring的配置文件中mvc:view-controller path使用方法
- 读取和使用Spring的配置文件
- Spring整合JUnit4测试,使用注解引入一个或多个配置文件
- springboot 使用外部配置文件
- Spring 使用Properties配置文件(一)
- spring如何使用多个xml配置文件
- Spring中使用Map、Set、List、数组、属性集合的注入方法配置文件