Spring配置 在xml和java代码中读取properties文件

来源:互联网 发布:霓虹灯效果图制作软件 编辑:程序博客网 时间:2024/05/01 02:12

 

在spring引入属性文件

<bean id="propertyConfigurer"class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">        <property name="locations">            <list>               <!-- 这里支持多种寻址方式:classpath和file -->               <value>classpath:redis.properties</value>              <value>classpath:config.properties</value>              </list>            </property>         </bean>       <!-- 重写propertyConfigurer 主要是为了在java代码中获取属性 -->   <bean id="gloal"  class="com.baojing.wx.config.Gloal">             <property name="location">            <value>classpath:gloal.properties</value>       </property></bean>


第一种方案直接在xml直接${key}就能获取到property中的值。

 

第二种的原理是集成继承

org.springframework.beans.factory.config.PropertyPlaceholderConfigurer类。

public class Gloal extends PropertyPlaceholderConfigurer{      private staticMap<String,String> propertyMap;   @Override   protected void processProperties(ConfigurableListableBeanFactory beanFactoryToProcess, Properties props) throws BeansException {       super.processProperties(beanFactoryToProcess, props);       propertyMap = new HashMap<String, String>();       for (Object key : props.keySet()) {            String keyStr = key.toString();            String value = props.getProperty(keyStr);            propertyMap.put(keyStr, value);       }   }    //static method for accessing contextproperties   public static String getProperty(String name) {       return propertyMap.get(name);   }}


使用Gloal.getProPerty(Key)获取value

 


0 0