spring加载properties属性文件到内存
2015-12-15 00:00
375 查看
1. CustomPropertyConfigurer.java
2. applicationContext.xml
3. jdbc.properties
4. Main.java测试类
package com.jdd.broker.admin.aspect; import java.util.HashMap; import java.util.Map; import java.util.Properties; import java.util.Map.Entry; import org.springframework.beans.BeansException; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer; import org.springframework.util.PropertyPlaceholderHelper; public class CustomPropertyConfigurer extends PropertyPlaceholderConfigurer{ private static Map<String,String> properties = new HashMap<String,String>(); protected void processProperties( ConfigurableListableBeanFactory beanFactoryToProcess, Properties props) throws BeansException { // cache the properties PropertyPlaceholderHelper helper = new PropertyPlaceholderHelper( DEFAULT_PLACEHOLDER_PREFIX, DEFAULT_PLACEHOLDER_SUFFIX, DEFAULT_VALUE_SEPARATOR, false); for(Entry<Object,Object> entry:props.entrySet()){ String stringKey = String.valueOf(entry.getKey()); String stringValue = String.valueOf(entry.getValue()); stringValue = helper.replacePlaceholders(stringValue, props); properties.put(stringKey, stringValue); } super.processProperties(beanFactoryToProcess, props); } public static Map<String, String> getProperties() { return properties; } public static String getProperty(String key){ return properties.get(key); } }
2. applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd" default-lazy-init="true" default-autowire="byName" default-init-method="" default-destroy-method=""> <bean id="propertyConfigurer" class="com.jdd.broker.admin.aspect.CustomPropertyConfigurer"> <property name="locations"> <list> <value>classpath:/jdbc.properties</value> </list> </property> </bean> </beans>
3. jdbc.properties
jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://rdsvl6l6emtdjrk6yi4k3public.mysql.rds.aliyuncs.com:3306/test_crowd?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true jdbc.username=test_crowd jdbc.password=test_crowd
4. Main.java测试类
package com.jdd.broker.admin.aspect; import java.util.Map; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Main { public static void main(String[] args) { new ClassPathXmlApplicationContext("spring-mvc.xml"); Map<String, String> properties = CustomPropertyConfigurer.getProperties(); System.out.println(properties); } }
相关文章推荐
- Eclipse中jsp、js文件编辑时,卡死现象解决汇总
- eclipse 不能启动
- 短信mao编码问题
- java动态代理
- itext 学习地址
- 超链接删除
- ubuntu install java
- 使用java打包为zip文件
- 20 very useful Java code snippets for Java Develop
- flex 组合键实现
- java png gif bmp to jpg
- Java中对象的存储
- SpringMVC中@ResponseBody返回中文乱码解决方法
- Java读书笔记(2)
- BM算法(Boyer-Moore) (JAVA实现)
- java基础之正则表达式
- Java开发者必备的六款工具
- JPA--Caused by: javax.persistence.PersistenceException: [PersistenceUnit: mysqlJPA] Unable to configure EntityManagerFactory
- java字符串
- 06 java中常量以及常量池