zoukankan      html  css  js  c++  java
  • 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讲

  • 相关阅读:
    MeshLab编译理解
    几个经典的数学库之一学习---VCGlib(1)
    开源协议的几种类型认识
    Win & Mac 系统之间U盘传递的U盘文件格式选取问题
    用VS2010编译python2.7的源码
    类之间关系理解:组合>聚合>关联>依赖;实现,继承
    Linux进阶:让效率翻倍的Bash技巧(一)
    Linux下nc命来实现文件传输
    nginx 405 not allowed问题的解决
    vim同时打开多个文件进行编辑
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/2978339.html
Copyright © 2011-2022 走看看