java读取配置文件properties的方法(很多不会用框架s2sh的开发者,喜欢用此方法)

示例:

属性文件: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;
	}

}

使用时如下:

还没看明白的,可以参看视频 尚学堂的学生李腾飞cms视频33讲

 

posted @ 2013-03-24 11:51  javawebsoa  Views(197)  Comments(0Edit  收藏  举报