Java基于Spring配置读取properties文件
来源:互联网 发布:tcp套接字编程java 编辑:程序博客网 时间:2024/06/07 04:14
根据Spring配置文件的 PropertiesFactoryBean和 PropertyPlaceholderConfigurer可以选择不同的加载方式,我是使用System.setProperty(key, value),代码中可以直接用System.getProperty(key)取value的值,不要乱用System.setProperties(props)
一、PropertyPlaceholderConfigurer
PropertyPlaceholderConfigurer是解决 properties 文件占位符问题,实现 PropertiesLoaderSupport 类
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name="locations"><list><value>classpath:jdbc.properties</value><value>classpath:redis.properties</value></list></property><!-- 忽略不可解析的 --><property name="ignoreUnresolvablePlaceholders" value="true" /></bean>
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() */@Overridepublic void afterPropertiesSet() throws Exception {Properties props = new Properties();props.load(InitializingProperties.class.getClassLoader().getResourceAsStream("test1properties"));props.load(InitializingProperties.class.getClassLoader().getResourceAsStream("test2.properties"));for (Entry<Object, Object> e : props.entrySet()) {System.setProperty(e.getKey().toString(), e.getValue().toString());logger.info(e.getKey().toString() + "---" + e.getValue().toString());}}}
二、PropertiesFactoryBean
PropertiesFactoryBean 是PropertiesLoaderSupport 直接的实现类<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertiesFactoryBean"><property name="location"><value>classpath:portal_dev.properties</value></property></bean>
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);@Autowiredprivate Properties propertyConfigurer;/* * (non-Javadoc) * * @see * org.springframework.beans.factory.InitializingBean#afterPropertiesSet() */@Overridepublic void afterPropertiesSet() throws Exception {for (Entry<Object, Object> e : propertyConfigurer.entrySet()) {System.setProperty(e.getKey().toString(), e.getValue().toString());logger.info(e.getKey().toString() + "---" + e.getValue().toString());}}}
阅读全文
0 0
- Java基于Spring配置读取properties文件
- spring配置读取properties文件
- java读取配置Properties文件
- Java读取Properties文件 Java加载配置Properties文件
- Java中通过Spring读取Properties文件
- Spring 读取 properties文件
- Spring 读取properties文件
- spring读取properties文件
- spring 读取properties文件
- spring读取properties文件
- spring读取properties文件
- Spring 读取properties文件
- java 中配置和读取properties文件
- Java简单读取properties文件配置
- java读取属性配置(properties)文件
- Java读取配置(.properties)文件的方法
- Java读取Properties文件中在配置
- 【spring配置】——spring读取properties文件
- MySQL系列—EXPLAIN 介绍
- 栈的应用:逆波兰表达式求值
- 树莓派上手常见问题处理[转]
- 练习15
- Java 读取 *.properties
- Java基于Spring配置读取properties文件
- 视频会议中混音后溢出问题的研究及解决方法
- ArcEngine 设置要素图层的基准高(Base Height),使其紧贴地形TIN
- 学习项目管理的原因
- 设计模式---策略模式
- Idea开发springmvc项目连接数据库时用户名为windows用户名
- B
- Advanced KeyBoard Tricks
- springMVC mybatis 数据库sql查询有值 但java返回为空