1.PropertyPlaceholderConfigurer类
它是把属性中的定义的变量(var)替代,spring的配置文件中使用${var}的占位符

<beans>
<bean id="configBean" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
           <property name="location"><value>db.properties</value></property>
</bean> 
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <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>
</beans>

db.properties文件

jdbc.driverClassName=org.hsqldb.jdbcDriver
jdbc.url=jdbc:hsqldb:hsql://production:9002
jdbc.username=sa
jdbc.password=root

2.PropertyOverrideConfigurer类
跟PropertyPlaceholderConfigurer功能一样,不过用法不一样.不用占位符,在属性文件中
直接定义属性的值,这样就允许有默认值

<beans>
<bean id="configBean" class="org.springframework.beans.factory.config.PropertyOverrideConfigurer">
           <property name="location"><value>db.properties</value></property>
</bean> 
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName"><value>org.hsqldb.jdbcDriver</value></property>
    <property name="url"><value>jdbc:hsqldb:hsql://production:9002</value></property>
    <property name="username"><value>test</value></property>
    <property name="password"><value>123456</value></property>
</bean>
</beans>

db.properties文件
在bean实例时,admin,9527将替代test,123456
3其他
1)如果需要引用多个属性,将configBean属性改为
2)在ApplactionContext中是自动调用BeanFactoryPostProcessor接口的,如果要在BeanFactory中使用,必须手动添加:

dataSource.username=admin
dataSource.password=9527
<property name="locations">
<list>
<value>db.properties</value>
<value>db1.properties</value>
</list>
</property>
XmlBeanFactory factory = new XmlBeanFactory(new FileSystemResource("beans.xml"));
PropertyPlaceholderConfigurer cfg = new PropertyPlaceholderConfigurer();
cfg.setLocation(new FileSystemResource("jdbc.properties"));
cfg.postProcessBeanFactory(factory);

Spring如何引用properties文件里的配置相关推荐

  1. 在Spring Boot里面,怎么获取定义在application.properties文件里的值

    问题:在Spring Boot里面,怎么获取定义在application.properties文件里的值. 我想访问application.properties里面提供的值,像这样: logging. ...

  2. Spring框架——基于xml文件的相关配置

    文章目录 1.IOC创建对象 2.Bean的作用域 3.Bean的继承 4.读取外部资源(导入资源文件) 1.IOC创建对象 通过 < bean id="" class=&q ...

  3. Spring+Mybatis多数据源配置(三)——Spring如何获取Properties文件的信息

    欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...

  4. Spring加载properties文件的两种方式

    2019独角兽企业重金招聘Python工程师标准>>> 在项目中如果有些参数经常需要修改,或者后期可能需要修改,那我们最好把这些参数放到properties文件中,源代码中读取pro ...

  5. Spring 如何读取properties文件内容

    http://hi.baidu.com/alizv/blog/item/d8cb2af4094662dbf3d38539.html 在现实工作中,我们常常需要保存一些系统配置信息,大家一般都会选择配置 ...

  6. spring.xml从外部文件引入数据库配置信息

    1 <!-- 分散配置 --> 2 <context:property-placeholder location="classpath:jdbc.properties&qu ...

  7. spring加载properties文件顺序

    我们在使用spring是,在配置文件中经常需要使用到<context:property-placeholder location="" />标签.这样系统配置就能直接写 ...

  8. spring加载properties文件

    <context:property-placeholder location="classpath:jdbc.properties,classpath:setting.properti ...

  9. Spring boot的properties文件编码设置

    Properties文件编码 Idea默认的文件编码为UTF-8 设置编码方式 勾选运行时,以ASCII码方式编码 编辑的时候是中文,运行的时候,就会使用ASCII编码

最新文章

  1. 乌克兰农贸市场现在接受比特币BCH等加密货币
  2. 向量空间和计算机科学与技术,向量空间
  3. int a[5]={}, a+1与(int*)a+1的区别
  4. 市场占比 44%,IDC 最新报告:阿里云智能语音市场排名第一
  5. Python selenium 延时的几种方法
  6. ROS 教程之navigation: 用程序设定导航目标点
  7. Lottie动画的使用
  8. 基于Qt的局域网即时通讯软件
  9. mysql-高级命令(1)和一些函数(悟已往之不谏,知来者之可追)
  10. HeadFirstC笔记_7 高级函数:发挥函数的极限
  11. python程序实例下载_Python经典实例
  12. 市面上比较好用的钣金展开软件都有哪些?
  13. LED灯亮灭模拟小星星第一句
  14. 《MINECRAFT我的世界 新手完全攻略(第3版)》一2.2 去找树
  15. idea配置有道翻译引擎
  16. python正负数排序_带有负值的Python sort()问题
  17. 最长连续子序列偏移_在新的模压成型工艺中结合热塑性连续带材与D-LFT(第一部分)...
  18. 华为端口聚合命令_以太网链路聚合配置命令 - S1720, S2700, S5700, S6720 V200R011C10 命令参考 - 华为...
  19. 青春痘疤的治疗,微晶磨削 TCA FREXEL (转)
  20. linux vsftpd上传文件权限,如何用vsftpd实现用户不同权限:只能下载,可上传,管理权限等...

热门文章

  1. java 拆箱 类型不对,Java基本类型于对象类型的拆箱和装箱
  2. php eval 二进制,PHP eval函数使用介绍
  3. 在php里面找出有用的代码,如何在多个源代码文件中 找到某段代码?
  4. OpenShift 4 Hands-on Lab (4) - 用ImageStream操作Image
  5. 从容器开始的良好做法
  6. 开源的方舟编译器将进入深圳大学课堂
  7. 集成测试变得简单的第1部分:存储库测试
  8. 使用哪种关机方式后再启动计算机时间最长,有没有哪一种软件可以使电脑在设置好时间后自动开关机...
  9. js把base64串解析成中文_26日大嘴足球:晚场5中3/中2串+1比分,早场(意甲+西甲)2场解析!!...
  10. netbeans 添加gif图片_史上功能最强最全最好用的GIF动画制作手机app——GIF豆豆——手机ae...