- 浏览: 467328 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
a115962262:
谢谢小伙伴,还好有你,拿回去试试,要兼容windos和linu ...
hyperic-sigar-1.6.4 java获取软硬件相关信息 -
东辉VS风行:
东辉VS风行 写道写的很好,没看懂的就要自己多看些书,别喷楼主 ...
extjs4 异步树的写法 -
东辉VS风行:
写的很好,没看懂的就要自己多看些书,别喷楼主 我感觉楼主写的 ...
extjs4 异步树的写法 -
546968662:
博主给解释一下异步请求时为什么会带上节点参数id
extjs4 异步树的写法 -
amwons:
谢谢了!这东西还真不好找。
hyperic-sigar-1.6.4 java获取软硬件相关信息
它的作用是一个资源属性的配置器,能够将BeanFactory的里定义的内容放在一个以.propertis后缀的文件中.
要了解这个类首先要弄清楚一个概念:bean factory post-processor
官方解释是这样的:
A bean factory post-processor is a java class which implements the
org.springframework.beans.factory.config.BeanFactoryPostProcessor interface. It is executed manually (in the case of the BeanFactory) or automatically (in the case of the ApplicationContext) to apply changes of some sort to an entire BeanFactory, after it has been constructed.
我理解的意思是这样的:
1.首先bean factory post-processor实现了org.springframework.beans.factory.config.BeanFactoryPostProcessor接口。
2.在BeanFactory的情况下它被手动的执行。
3.在ApplicationContext的条件下它会自动的执行。
4.最关键的一点是,是在一个类的实例被构造出来之后,对整个BeanFactory进行修改。
--------------------------------------------------------------------------------------------------------------------------------
文章来自:http://hi.baidu.com/fytcm/blog/item/756acffdcff2541508244d2d.html
Spring的框架中为您提供了一个 BeanFactoryPostProcessor 的实作类别: org.springframework.beans.factory.config.PropertyPlaceholderConfigurer。藉由这个类别,您可以将一些组态设定,移出至.properties档案中,如此的安排可以让XML定义档负责系统相关设定,而.properties档可以作为客户根据需求,自定义一些相关的参数。
来看一个Bean定义档的实际例子:
<?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>hello.properties</value> </property> </bean> <bean id="helloBean" class="onlyfun.caterpillar.HelloBean"> <property name="helloWord"> <value>${onlyfun.caterpillar.helloWord}</value> </property> </bean> </beans> 假设在helloBean中有许多依赖注入的属性,这些都是比较不常变动的属性,而其中helloWord会经常变动,可以透过hello.properties来简单的设定,而这个资讯已设定在configBean的location属性中:
onlyfun.caterpillar.helloWord=Welcome! 在helloBean的helloWord属性中,${onlyfun.caterpillar.helloWord}将会被hello.properties的helloWord所取代。 如果有多个.properties档案,则可以透过locations属性来设定,例如:
<?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="locations"> <list> <value>hello.properties</value> <value>welcome.properties</value> <value>other.properties</value> </list> </property> </bean> <bean id="helloBean" class="onlyfun.caterpillar.HelloBean"> <property name="helloWord"> <value>${onlyfun.caterpillar.helloWord}</value> </property> ... </bean> </beans> ====================================== PropertyPlaceholderConfigurer类就是bean factory post-processor的一种,它的作用是一个资源属性的配置器,能够将BeanFactory的里定义的内容放在一个以.propertis后缀的文件中。
例如
---spring-context.xml----
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>/WEB-INF/jdbc.properties</value>
</list>
</property>
</bean>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName"><value>${driver}</value></property>
<property name="url"><value>jdbc:${dbname}</value></property>
</bean>
而实际的jdbc.propertis文件是
jdbc.driverClassName=org.hsqldb.jdbcDriver
jdbc.url=jdbc:hsqldb:hsql://production:9002
jdbc.username=sa
jdbc.password=root
而jdbc.propertis是怎样引用的呢:
将上边一段配置注册在web.xml中就可以了
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-context.xml</param-value>
</context-param>
当然,不要忘了spring的监听器注册
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
这样,一个简单的数据源就设置完毕了。
实际上,PropertyPlaceholderConfigurer起的作用就是将占位符指向的数据库配置信息放在bean中定义
的工具。
|
发表评论
-
spring security3 配置
2021-06-20 11:15 235<?xml version="1.0 ... -
JSP禁用缓存常用方法
2021-05-30 10:44 270jsp页面禁止缓存设置 1.客户端缓存要在<hea ... -
forward和redirect的区别
2021-05-29 09:55 2081.从地址栏显示来说 ... -
禁用浏览器的后退按钮
2013-04-13 22:49 1315如何禁用浏览器的后退按钮: 在登录表单提交页面中加入如下 ... -
限制同一个会话只允许一个账号登录,针对ie7、e8多标签同一会话问题
2013-04-13 23:17 1723package com.anxiesoft.util; ... -
Servlet、Filter、Listener执行的先后顺序
2021-05-29 09:54 895Listener在web容器中优先于Fiter执行,即在F ... -
jdbc连接Software caused connection abort: socket write error
2013-04-08 10:59 7308我使用jdbc开发了个j2ee ... -
解决Tomcat出现内存溢出的问题
2021-05-25 07:03 12Tomcat服务器出现 java.lang.OutOfMem ... -
memcached,windows版本环境搭建
2021-05-15 10:53 247首先到下载memcached的windows版本和java客 ... -
url中的参数含有空格,导致请求失败的问题
2011-12-11 21:19 10142今天写了个程序,代码如下: public class Tes ... -
struts 2 result的type值解释
2011-07-27 20:05 1273chain 用 ... -
如何解决安装阻止了的未知发行商的软件?
2011-06-17 10:17 3949没关系的,按以下设置搞定! 打开IE,“工具”—“INTERN ... -
No Hibernate Session bound to thread, and configuration does not allow creation
2011-05-15 23:08 4188No Hibernate Session bound to ... -
Thread: ADMU3011E: Server launched but failed initialization. Server logfiles sh
2011-04-25 21:34 2978http://fixunix.com/websphere/20 ... -
Linux系统上websphere7.0的安装和配置
2010-09-19 13:45 3168Linux系统上websphere7.0的安装和配置 1、we ... -
Criteria和DetachedCriteria的区别(转)
2009-07-13 21:21 1600最近在项目中使用 Spring 和 Hibernate ... -
自己用jasperreports写一个pdf格式报表
2008-11-16 22:40 1726package mypackage.jasperreport; ... -
jasperreport生成html,Excel,PDF报表,数据源使用List
2008-11-13 10:07 3601jasperreport中可以使用List作为数据源,使用格式 ... -
JasperReport的使用
2008-11-08 23:21 5492最近工作中用到报表,而我在学习JasperReport的过程中 ...
相关推荐
Spring中PropertyPlaceholderConfigurer的使用
Spring属性占位符PropertyPlaceholderConfigurer的使用,自己写的一个demo
主要介绍了Spring如何使用PropertyPlaceholderConfigurer读取文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
以 Tiles 为例 自订 View Class 与其它 Web 框架的整合 您可以将 Spring 与现在的一些 Web 框架结合在一起,重点都在于如何让 Web 框架意识到 Spring 的存在。 第一个 Struts 程式 在 Struts...
NULL 博文链接:https://wokeke.iteye.com/blog/2214113
Spring.NET是一个应用程序框架,其目的是协助开发人员创建企业级的.NET应用程序。它提供了很多方面的功能,比如依赖注入、面向方面编程(AOP)、数据访问抽象及ASP.NET扩展等等。Spring.NET以Java版的Spring框架为...
13.1.2. Spring Web MVC框架的特点 13.2. DispatcherServlet 13.3. 控制器 13.3.1. AbstractController 和 WebContentGenerator 13.3.2. 其它的简单控制器 13.3.3. MultiActionController 13.3.4. 命令控制器 13.4. ...
这篇文章将教你快速地上手使用 Spring 框架. 如果你手上有一本《Spring in Action》, 那么你最好从第三部分"Spring 在 Web 层的应用--建立 Web 层"开始看, 否则那将是一场恶梦! 首先, 我需要在你心里建立起 Spring...
NULL 博文链接:https://chyy001.iteye.com/blog/1338488
在Spring3中配置数据源,包括DBCP,C3P0,Proxool,Bonecp主要的数据源,里面...<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <value>classpath:proxool.properties ...
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <value>classpath:jdbc.properties ${driver}"/> ${url}"/> ${username}"/> ${password}"/> <!-- 配置...
4.8.2.1 示例:PropertyPlaceholderConfigurer. 82 4.8.2.2 示例:PropertyOverrideConfigurer 83 4.8.3 使用FactoryBean 来自定义实例化逻辑. 84 4.9 基于注解的容器配置. 85 4.9.1 @Required....
#Spring 属性注释扩展的 PropertyPlaceHolderConfigurer 使用注解将配置属性注入到 Spring 组件中。 注意:Spring 3 现在支持使用 @Value 注释的容器的。 该项目仅用于 Spring 2.5.x 支持。 ##入门Spring房产注解...
PropertyPlaceholderConfigurer PropertyResourceConfigurer PropertyValue PropertyValues PropertyValuesEditor PrototypeAspectInstanceFactory PrototypeTargetSource ProxyConfig ProxyFactory ...
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <value>WEB-INF/jdbc.properties class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-...
3. New Features and Enhancements in Spring Framework 4.0 ............................................ 17 3.1. Improved Getting Started Experience .........................................................
spring3.1中文参考文档,南磊翻译,现在有4章,目录如下: 第一部分 Spring framework概述.......................................................................................................................
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <value>classpath*:jdbc.properties <!-- 数据源配置,主要用于开发测试...
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <value>classpath:/deploy.properties <!-- 配置sessionFactory ...