利用工厂模式实现Dao层和Service的解耦
2015-08-14 20:15
288 查看
dao.properties的文件内容
DaoFactory的实现
BusinessServiceImpl利用DaoFactory进行解耦
UpfileDao=cn.itcast.dao.impl.UpfileDaoImpl
DaoFactory的实现
public class DaoFactory { private static Properties daoconfig = new Properties(); static{ try { daoconfig.load(DaoFactory.class.getClassLoader().getResourceAsStream("dao.properties")); } catch (IOException e) { throw new RuntimeException(e); } } private DaoFactory(){} private static final DaoFactory instance = new DaoFactory(); public static DaoFactory getInstance(){ return instance; } public <T> T createDao(Class<T> interfaceClass){ String name = interfaceClass.getSimpleName(); String daoClassname = daoconfig.getProperty(name); try { return (T) Class.forName(daoClassname).newInstance(); } catch (Exception e) { throw new RuntimeException(e); } } }
BusinessServiceImpl利用DaoFactory进行解耦
private UpfileDao dao = DaoFactory.getInstance().createDao(UpfileDao.class);
相关文章推荐
- 【转】Java线程面试题Top50
- HDU 2094 产生冠军
- 【Ajax技术】Ajax技术回顾与XHR对象的创建
- hdu 4586 Play the Dice(概率dp)
- UVa10596 Morning Walk
- poj 1269
- NZND壳-第三天
- ECMall /app/buyer_groupbuy.app.php SQL Injection Vul
- dotNET使用DRPC远程调用运行在Storm上的Topology
- 利用tcpdump+wireshark对android进行抓包分析
- OC - Property
- 在网站中嵌入视频教学系统
- python3之循环
- JAVA内存泄露原因解析
- 九度oj 1031
- 二分匹配 HDU2063 过山车
- OC - ProtocolAndDelegate
- hdu 1069 Monkey and Banana
- [iOS]NSDate小节
- Http的个人见解