private DaoFactory() {
try{

Properties prop = new Properties();
InputStream inStream =DaoFactory.class.getClassLoader()
.getResourceAsStream("daoconfig.properties");
prop.load(inStream);
String userDaoClass = prop.getProperty("userDaoClass");
Class clazz = Class.forName(userDaoClass);
userDao = (UserDao) clazz.newInstance();

}catch(Throwable e){
//throw new ExceptionInInitializerError(e);
}
}userDao貌似是空  为啥啊?????

解决方案 »

  1.   

    DAO 模式
    用实现类来做就可以连接到数据库
    用工厂模式来做就不行 !!!
      

  2.   

    InputStream inStream =DaoFactory.class.getClassLoader()
    .getResourceAsStream("daoconfig.properties"); 可能问题出在这个地方!你的  daoconfig.properties 文件是放在什么地方的?
    你的程序是 Web 应用,还是普通的 Java 应用?
      

  3.   

    我不知道你的配置文件为什么要放到那么深的目录中去?直接放到 src 下不行么?InputStream is = ClassLoader.getSystemResourceAsStream("daoconfig.properties");
      

  4.   

    是普通的应用, daoconfig.properties 不是应该放在CLASSPATH里吗,不好使啊
    为了测试,我在每个文件夹里都放了一个 daoconfig.properties 文件,还是不对啊
    还有个问题 Eclipse的CLASSPATH和在我的电脑属性里的冲突不啊???
      

  5.   

     先明确:userDao是在classPath路径下吗!!因为class.forName()只能加载CLASSPATH下的CLASS;如果你的userDAO不在classpath下就用URLclassloader!