您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> 编程语言综合 >> 正文

java读取配置文件properties的方法

作者:佚名    责任编辑:admin    更新时间:2022-06-22

 

 示例:
属性文件:beans.properties

articleDao=cn.com.leadfar.cms.backend.dao.impl.ArticleDaoImpl
channelDao=cn.com.leadfar.cms.backend.dao.impl.ChannelDaoImpl
使用此属性时类的配置如下:
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的实现类名
		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;
	}

}