java讀取配置文件properties的方法

字號(hào):


    示例:
    屬性文件:beans.properties
    articleDao=cn.com.leadfar.cms.backend.dao.impl.ArticleDaoImpl
    channelDao=cn.com.leadfar.cms.backend.dao.impl.ChannelDaoImpl
    使用此屬性時(shí)類(lèi)的配置如下:
    PropertiesBeanFactory.java
    package cn.com.leadfar.cms.utils;
    import java.io.IOException;
    import java.util.Properties;
    import cn.com.leadfar.cms.backend.dao.ArticleDao;
    import cn.com.leadfar.cms.backend.dao.ChannelDao;
    public class PropertiesBeanFactory implements BeanFactory {
    Properties props = new Properties();
    public PropertiesBeanFactory(){
    //讀取配置文件,得到具體DAO的實(shí)現(xiàn)類(lèi)名
    try {
    props.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("beans.properties"));
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    public ArticleDao getArticleDao() {
    String className = props.getProperty("articleDao");
    try {
    Class clz = Class.forName(className);
    return (ArticleDao)clz.newInstance();
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    } catch (InstantiationException e) {
    e.printStackTrace();
    } catch (IllegalAccessException e) {
    e.printStackTrace();
    }
    return null;
    }
    public ChannelDao getChannelDao() {
    String className = props.getProperty("channelDao");
    try {
    Class clz = Class.forName(className);
    return (ChannelDao)clz.newInstance();
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    } catch (InstantiationException e) {
    e.printStackTrace();
    } catch (IllegalAccessException e) {
    e.printStackTrace();
    }
    return null;
    }
    }