萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> java讀取配置文件properties的方法

java讀取配置文件properties的方法

 

 示例:
屬性文件: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;
	}

}

copyright © 萬盛學電腦網 all rights reserved