Class.forName(name).newInstance()与简单工厂模式结合 的问题?
ejb里调用dao工厂时抛出异常,ClassLoders not Found,具体相关代码如下,请问Class.forName使用是否有限制?
建立dao工厂,通过传递的类名daoName 动态生成具体的dao,但在实际运行抛出异常,
package com.sma.factory;
import com.sma.dao.stu.StuDao;
import com.sma.dao.DaoInterface;
public class DaoFactory {
public DaoFactory() {
}
public DaoInterface createDao(String daoName)
{
DaoInterface di=null;
try
{
di=(DaoInterface)Class.forName(daoName).newInstance();
}
catch(Exception e)
{
e.printStackTrace();
}
return di;
}
}
ejb里调用工厂createDao方法生成需要的dao完成具体操作
DaoFactory df=new DaoFactory();
DaoInterface df=df.test();//运行时产生异常ClassLoders not Found