factory
2016-05-26 10:37
447 查看
dao举例:
1、
2、
3、
4、
5、dao.properties
1、
package com.sky.dao; public interface PeopleDao { public void show(); }
2、
package com.sky.dao.impl; import com.sky.dao.PeopleDao; public class PeopleDaoImpl implements PeopleDao { public void show(){ System.out.println("daoimpl"); } }
3、
package com.sky.dao.factory; import java.util.ResourceBundle; import com.sky.dao.PeopleDao; //单例工厂 public class DaoFactory { private DaoFactory(){}; private static DaoFactory instance = new DaoFactory(); public static DaoFactory getInstance(){ return instance; } /* * for example:PeopleDao pd = DaoFactory.getInstance().creatDao(PeopleDao.class); * pd.show(); */ public <T> T creatDao(Class<T> t){ String simpleName = t.getSimpleName(); //dao.properties,for example:PeopleDao = com.sky.dao.impl.PeopleDaoImpl String ClazzName = ResourceBundle.getBundle("dao").getString(simpleName); try { return (T) Class.forName(ClazzName).newInstance(); } catch (Exception e) { e.printStackTrace(); return null; } } }
4、
package com.sky.test; import com.sky.dao.PeopleDao; import com.sky.dao.factory.DaoFactory; public class TestDao { public static void main(String[] args) { PeopleDao pd = DaoFactory.getInstance().creatDao(PeopleDao.class); pd.show(); } }
5、dao.properties
PeopleDao =com.sky.dao.impl.PeopleDaoImpl
相关文章推荐
- MindManager快捷键
- Swift资源包--Sort方法
- reflow
- NodeJs初学者经典入门解析
- MySQL学习总结(二)数据库以及表的基本操作
- 第二次冲刺个人博客02
- Matlab基于Viola-Jones算法的人脸检测(1)
- JQuery点击行tr实现checkBox选中的简单实例
- Android面试题
- WinEdt9.1安装
- linux下用python统计某个目录下指定后缀文件的个数
- fileuploader.js 插件使用帮助
- PHP发送AT指令实例代码
- Oracle开发之分析函数(Rank, Dense_rank, row_number)
- Web Navigation
- mongoose报错:RangeError: Maximum call stack size exceeded
- 免费的编程中文书籍索引
- 关于请求返回的500,404.等错误
- pycurl和requests使用感受
- 《Motion Design for iOS》(二十二)