首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java获取spring属性文件模式

2013-10-23 
java获取spring属性文件方式1、在xml文件中直接获取,或者几个xml文件之间共享。!-- 加载全局配置文件 --b

java获取spring属性文件方式
1、在xml文件中直接获取,或者几个xml文件之间共享。
<!-- 加载全局配置文件 -->
<bean />//此包中包含Mail对象。

4、采用自定义类,继承spring中的PropertyPlaceholderConfigurer类来实现java中获取属性key
1)、spring配置
<bean id="propertyConfigurer"
value="true" />
<property name="locations">
<list>
<value>/WEB-INF/config/jdbc.properties</value>
<value>/WEB-INF/config/mail.properties</value>
<value>/WEB-INF/config/hibernate.properties</value>
</list>
</property>
</bean>
2)、自定义类ReadPropertyPlaceholderConfigurer.java。【可以实现通过此类的getContextProperty获取到对应的属性了。】
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer;

/**
* 继承PropertyPlaceholderConfigurer类处理返回结果;
*
* @author yanghl
* @date 2013-03-24
*/
public class ReadPropertyPlaceholderConfigurer extends PropertyPlaceholderConfigurer {
    private static Map<String, Object> propertiesMap;

    @Override
    protected void processProperties(ConfigurableListableBeanFactory beanFactoryToProcess, Properties props) throws BeansException { 
        super.processProperties(beanFactoryToProcess, props);
        propertiesMap = new HashMap<String, Object>();
        for (Object key : props.keySet()) {
            String keyStr = key.toString();
            String value = props.getProperty(keyStr);
            propertiesMap.put(keyStr, value);
        }
    }
    public static Object getContextProperty(String name) {
        return propertiesMap.get(name);
    }
}
3)、在业务类中获取属性文件的内容
String mailStmp = (String)ReadPropertyPlaceholderConfigurer.getContextProperty("mail.stmp");

热点排行