加载配置文件.properties,及面向接口编程的DaoFactory

 1 package cn.itcast.usermng.dao;
 2 
 3 import java.io.InputStream;
 4 import java.util.Properties;
 5 
 6 /**
 7  * 通过配置文件得到dao实现类的名称!
 8  * 通过类名称,完成创建类对象!(反射完成的!)
 9  * @author cxf
10  *
11  */
12 public class DaoFactory {
13     private static Properties props = null;
14     static {
15         // 加载配置文件内容到props对象中
16         try {
17             InputStream in = DaoFactory.class
18                     .getClassLoader().getResourceAsStream("dao.properties");
19             props = new Properties();
20             props.load(in);
21         } catch(Exception e) {
22             throw new RuntimeException(e);
23         }
24     }
25     /**
26      * 返回一个具体UserDao的实现类对象
27      * @return
28      */
29     public static UserDao getUserDao() {
30         /**
31          * 给出一个配置文件,文件中给出UserDao接口的实现类名称!
32          * 我们这个方法,获取实现类的类名,通过反射完成创建对象!
33          */
34         /*
35          * 得到dao实现类的名称
36          */
37         String daoClassName = props.getProperty("cn.itcast.usermng.dao.UserDao");
38         
39         /*
40          * 通过反射来创建实现类的对象 
41          */
42         try {
43             Class clazz = Class.forName(daoClassName);
44             return (UserDao)clazz.newInstance();
45         } catch(Exception e) {
46             throw new RuntimeException(e);
47         }
48     }
49 }

 

posted @ 2015-10-19 17:17  暗夜小精灵~~  阅读(286)  评论(0编辑  收藏  举报