文档章节

PropertiesFactoryBean PropertyPlaceholderConfigurer 区别

834575475
 834575475
发布于 2017/03/30 21:41
字数 199
阅读 107
收藏 0

1.PropertiesFactoryBean is a FactoryBean implementation which reads a properties file and exposes that as an Properties object in the applicationcontext. 
加载配置文件后,可以在代码中通过注解直接使用,如

    @Value("#{qfangCoreSameProperties['joinLoginSuccessUrl']}")
    private String joinLoginSuccessUrl;

2.PropertyPlaceHolderConfigurer is a BeanFactoryPostProcessor implementation that reads a property file and uses that property file to replace placeholder variables (${somename}) with actual values. The read properties aren’t available as a Properties object. 
在配置文件中使用,如

    <dubbo:registry address="${dubbo.registry.address}" />
    <dubbo:monitor protocol="${dubbo.monitor.protocol}" />

使用 PropertyPlaceholderConfigurer 时, @Value表达式的用法是 @Value(value="${properties key}") ,使用 PropertiesFactoryBean 时,我们还可以用@Value 读取 properties对象的值, @Value 用法 是 @Value(value="#{configProperties['properties key']}")

 

 

<bean id="configProperties"
        class="org.springframework.beans.factory.config.PropertiesFactoryBean">
        
        <property name="locations">
            <list>
                <value>classpath:/config/jdbc.properties</value>
                <value>classpath:/config/base.properties</value>
            </list>
        </property>
    </bean>
    
    <!-- 属性文件读入 -->
    <bean id="propertyConfigurer"
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="properties" ref="configProperties" />
    </bean>

 

@Value(value="${profit.rate.csProfitRate}")
double rate = 0.9;
    
@Value(value="#{configProperties['profit.rate.csProfitRate']}")
double rate2 = 0.9;

© 著作权归作者所有

834575475
粉丝 1
博文 49
码字总数 23907
作品 0
浦东
私信 提问
PropertyPlaceholderConfigurer 和PropertiesFactoryBean区别

PropertiesFactoryBean 是PropertiesLoaderSupport 直接的实现类, 专门用来管理properties文件的工厂bean,默认是单例的, 而 PropertyPlaceholderConfigurer 是 解决 properties 文件占位符...

小鱼吃大鱼
2016/10/26
268
0
加载的配置文件中有中文导致乱码,如何通过分析源码解决问题?

基于spring 4.0.9 你的spring配置文件 spring-beans.jar - /META-INF/spring.schemas 找到语法校验文件 spring-beans.jar - /META-INF/spring.handlers 找到命名空间对应的实现类 org.spring......

胡桃同学
2016/12/05
374
1
使用Spring注解方式注入properties文件内容,并配合Junit4+Spring做单元测试

先看看工作目录,然后再来讲解 1、建立config.properties,我的config.properties内容如下: author_name=luolinproject_info=该项目主要是用于写一些demo 2、配置Spring配置文件,读取prope...

十月阳光
2015/08/07
18.6K
2
Spring的PropertyPlaceholderConfigurer应用

Spring 利用PropertyPlaceholderConfigurer占位符 1. PropertyPlaceholderConfigurer是个bean工厂后置处理器的实现,也就是BeanFactoryPostProcessor接口的一个实现。PropertyPlaceholderCo...

java远
2013/11/28
2.1K
0
PropertyPlaceholderConfigurer 无效的问题

问题描述: 这两天自己配置SPring+MyBatis遇到了个问题,搞了一天才搞定。就是PropertyPlaceholderConfigurer加载配置之后在DatasSource中的使用无效的问题。 以下是配置 <bean id="property...

Lubby
2015/12/08
390
1

没有更多内容

加载失败,请刷新页面

加载更多

Handler简解

Handler 这里简化一下代码 以便理解 Handler不一定要在主线程建 但如Handler handler = new Handler(); 会使用当前的Looper的, 由于要更新UI 所以最好在主线程 new Handler() { mLooper = Lo...

shzwork
2分钟前
0
0
h5获取摄像头拍照功能

完整代码展示: <!DOCTYPE html> <head> <title>HTML5 GetUserMedia Demo</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum......

诗书易经
5分钟前
0
0
正向代理和反向代理

文章来源 运维公会:正向代理和反向代理 1、正向代理 (1)服务对象不同 正向代理服务器的服务对象是客户端,可以将客户端和代理服务器看作一个整体。 (2)配置方法不同 需要在客户端配置代...

运维团
21分钟前
2
0
5个避免意外论文重复率高的方法

即使你不是故意抄袭,但你可能在无意中抄袭了别人的论文, 这个叫做意外抄袭,它可能正发生在你身上,如果你不熟悉学术 道德规范,这里将告诉你5个基本的方法来避免意外抄袭。 Tip1 熟悉其他...

论文辅导员
22分钟前
2
0
Maven通过profiles标签读取不同的配置

<profiles> <profile> <id>dev</id> <properties> <profiles.active>dev</profiles.active> </properties> ......

时刻在奔跑
28分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部