博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java基于Spring配置读取properties文件
阅读量:5265 次
发布时间:2019-06-14

本文共 2644 字,大约阅读时间需要 8 分钟。

根据配置文件的 PropertiesFactoryBean和 PropertyPlaceholderConfigurer可以选择不同的加载方式,我是使用System.setProperty(key, value),代码中可以直接用System.getProperty(key)取value的值

一、PropertyPlaceholderConfigurer

PropertyPlaceholderConfigurer是解决 properties 文件占位符问题,实现 PropertiesLoaderSupport 类

classpath:jdbc.properties
classpath:redis.properties
package com.phil.common.prop;import java.util.Map.Entry;import java.util.Properties;import org.apache.log4j.Logger;import org.springframework.beans.factory.InitializingBean;import org.springframework.stereotype.Component;/** * 加载Properties文件 * @author phil * @date 2017年8月13日 * */@Componentpublic class InitializingProperties implements InitializingBean {	private static final Logger logger = Logger.getLogger(InitializingProperties.class);	/*	 * (non-Javadoc)	 * 	 * @see	 * org.springframework.beans.factory.InitializingBean#afterPropertiesSet()	 */	@Override	public void afterPropertiesSet() throws Exception {		Properties props = new Properties();		props.load(InitializingProperties.class.getClassLoader().getResourceAsStream("test1.properties"));				props.load(InitializingProperties.class.getClassLoader().getResourceAsStream("test2.properties"));				for (Entry
e : props.entrySet()) { System.setProperty(e.getKey().toString(), e.getValue().toString()); logger.info(e.getKey().toString() + "---" + e.getValue().toString()); } }}

二、PropertiesFactoryBean

PropertiesFactoryBean 是PropertiesLoaderSupport 直接的实现类

classpath:portal_dev.properties

 

package com.phil.common.prop;import java.util.Map.Entry;import java.util.Properties;import org.apache.log4j.Logger;import org.springframework.beans.factory.InitializingBean;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Component;/** * 加载Properties文件 * @author phil * @date 2017年8月13日 * */@Componentpublic class InitializingProperties implements InitializingBean {	private static final Logger logger = Logger.getLogger(InitializingProperties.class);		@Autowired	private Properties propertyConfigurer;	/*	 * (non-Javadoc)	 * 	 * @see	 * org.springframework.beans.factory.InitializingBean#afterPropertiesSet()	 */	@Override	public void afterPropertiesSet() throws Exception {		for (Entry
e : propertyConfigurer.entrySet()) { System.setProperty(e.getKey().toString(), e.getValue().toString()); logger.info(e.getKey().toString() + "---" + e.getValue().toString()); } }}

 

转载于:https://www.cnblogs.com/phil_jing/p/7355509.html

你可能感兴趣的文章
实训第五天
查看>>
平台维护流程
查看>>
SQL (FMDB)
查看>>
2012暑期川西旅游之总结
查看>>
Linux发行版的排行
查看>>
宾得镜头大全与发展史
查看>>
spread+wackamole打造全新高可用+负载均衡
查看>>
sql语句中的left join,right join,inner join的区别
查看>>
Xcode 快捷键及代码格式化
查看>>
12010 解密QQ号(队列)
查看>>
javascript performence
查看>>
Docker简明教程(以安装wget程序为例)
查看>>
2014年辛星完全解读Javascript第一节
查看>>
装配SpringBean(一)--依赖注入
查看>>
daydayup2 codeforces143C
查看>>
ANT打包J2EE项目war包
查看>>
UESTC-我要长高 DP优化
查看>>
java选择文件时提供图像缩略图[转]
查看>>
shell脚本——正则表达式
查看>>
ubuntu如何安装虚拟机的工具条
查看>>