如何替换Application context定义文件中自定义的property

原创 2004年08月10日 18:08:00

如何替换Application context定义文件中自定义的property

问题描述:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

Application context定义文件(如xxx-servlet.xmlapplicationContext.xml)中,有时需要一些自定义的property,如datasource的定义

       <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">

              <property name="driverClassName"><value>${jdbc.driverClassName}</value></property>

              <property name="url"><value>${jdbc.url}</value></property>

              <property name="username"><value>${jdbc.username}</value></property>

              <property name="password"><value>${jdbc.password}</value></property>

       </bean>

或者可能有时还需要Application的根路径或系统变量。

解决方案:

       使用org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer

这个类的设计意图就是为了解决这个问题。它首先使用用户自定义的变量,然后使用系统变量,然后是这个配置文件的变量。

具体用法:

1.         在配置文件中声明这个类
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

2.         设定参数(可以为空)

l         location:指定一个properties文件的路径
<property name="location"><value>/WEB-INF/jdbc.properties</value></property>

l         locations:指定一组properties文件的路径
<property name=" locations ">
    <list>
        <value>/WEB-INF/jdbc.properties</value>
        <value>/WEB-INF/classes/messages.properties</value>   
   </list> 
</property>

如果需要Application跟路径,则需要定义Application的根路径,具体步骤如下:

1.         web.xml中,添加

       <context-param>

              <param-name>webAppRootKey</param-name>

              <param-value>petclinic.root</param-value>

       </context-param>

设置跟路径名称(默认为webapp.root

2.         然后声明WebAppRootListener or Log4jConfigListener

       <listener>

              <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>

       </listener>

ContextLoaderServlet

       <servlet>

              <servlet-name>context</servlet-name>

              <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>

              <load-on-startup>1</load-on-startup>

       </servlet>

如果是上边的声明,则Application的根路径变量的写法是${ petclinic.root }

关于android加固的简单实现------Application替换

android简单加固中application替换过程中遇到的坑
  • nideshouhu
  • nideshouhu
  • 2017年09月12日 22:41
  • 518

从Instant run谈Android替换Application和动态加载机制

转自http://www.tuicool.com/articles/ZFbaaub Android studio 2.0 Stable 版本中集成了 Install run 即时编译技术,官方描...
  • Gone_the_rainbow
  • Gone_the_rainbow
  • 2016年12月03日 21:14
  • 779

SevletContext

今天回顾一下之前学习过的Servlet,于是乎就打算整理成博客方便以后复习巩固。本篇博客来说说Servlet四大作用域之一ServletContext.那么,ServletContext是什么呢? ...
  • wnl_csdn
  • wnl_csdn
  • 2016年06月24日 21:59
  • 201

ServletContext的添加与获取

(1)关于对ServletContext的理解: (2)向servletcontext中添加属性 package com.tsinghua; import javax.servlet.htt...
  • u010870518
  • u010870518
  • 2014年09月01日 08:56
  • 2244

Android之Context与ApplicationContext的那些事儿

1.context是什么? Context是维持Android程序中各组件能够正常工作的一个核心功能类。Android程序不像Java程序一样,随便创建一个类,写个main()方法就能跑了,而是要有...
  • u014639129
  • u014639129
  • 2016年10月06日 00:03
  • 712

Android 定义自己的Application

定义自己的Application,让你任何时候都可以获取到想要的全局Context,
  • zc2_5781
  • zc2_5781
  • 2015年12月08日 20:07
  • 632

ServeltContext的理解和一种使用场景

最近做项目,用到了一个比较不熟悉的东西,但我自己又觉得很有用。所以记录下吧……   1.ServletContext  的使用 ServletContext对象是在Web应用程序装载时初始化的,...
  • qq_18875541
  • qq_18875541
  • 2017年04月06日 16:02
  • 131

Servlet、ServletContext与ServletConfig的详解及区别

ServletContext与ServletConfig的详解及区别 一、ServletContext详解 ServletContext是servlet与servlet容器之间的直接通信的接口。Se...
  • u012077981
  • u012077981
  • 2013年12月05日 11:29
  • 6956

Cordova系列二、自定义插件

自定义Cordova插件
  • itCatface
  • itCatface
  • 2016年01月14日 21:17
  • 12963

Android深入理解Context(一)Context关联类和Application Context创建过程

Context也就是上下文对象,是Android较为常用的类,但是对于Context,很多人都停留在会用的阶段,这个系列会带大家从源码角度来分析Context,从而更加深入的理解它。...
  • itachi85
  • itachi85
  • 2017年06月01日 00:32
  • 2578
收藏助手
不良信息举报
您举报文章:如何替换Application context定义文件中自定义的property
举报原因:
原因补充:

(最多只允许输入30个字)