灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:3212回复:0

Java中如何获取spring中配置的properties属性文件内容

楼主#
更多 发布于:2012-09-08 09:47


1、通过spring配置properties文件

[java]
<bean id="propertyConfigurer"
    class="com.tjsoft.base.util.CustomizedPropertyPlaceholderConfigurer">
    <property name="ignoreResourceNotFound" value="true" />
    <property name="locations">
        <list>
            <value>/web-INF/config/jdbc.properties</value>
            <value>/WEB-INF/config/mail.properties</value>
            <value>/WEB-INF/config/system.properties</value>
        </list>
    </property>
</bean>
其中class为自己定义的类
2、自定义类CustomizedPropertyPlaceholderConfigurer
[java]
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返回properties内容
*
* @author LHY 2012-02-24
*
*/
public class CustomizedPropertyPlaceholderConfigurer extends
        PropertyPlaceholderConfigurer {

    private static Map<String, Object> ctxPropertiesMap;

    @Override
    protected void processProperties(
            ConfigurableListableBeanFactory beanFactoryToProcess,
            Properties props) throws BeansException {
        super.processProperties(beanFactoryToProcess, props);
        ctxPropertiesMap = new HashMap<String, Object>();
        for (Object key : props.keySet()) {
            String keyStr = key.toString();
            String value = props.getProperty(keyStr);
            ctxPropertiesMap.put(keyStr, value);
        }   www.atcpu.com
    }

    public static Object getContextProperty(String name) {
        return ctxPropertiesMap.get(name);
    }

}


这样就可以通过CustomizedPropertyPlaceholderConfigurer类来获取properties属性文件中的内容了
3、如何获取属性文件的内容
String host =  (String) CustomizedPropertyPlaceholderConfigurer.getContextProperty("mail.smtp.host");
作者:lhy030320999

喜欢0 评分0
游客

返回顶部