java读取配置文件properties的方法
2013-03-24 09:09:39 来源:WEB开发网核心提示: 示例:属性文件:beans.propertiesarticleDao=cn.com.leadfar.cms.backend.dao.impl.ArticleDaoImplchannelDao=cn.com.leadfar.cms.backend.dao.impl.ChannelDaoImpl使用此属性时类的配置如下:
示例:
属性文件: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; } }
更多精彩
赞助商链接