CRM-BaseService的抽取
2015-09-23 20:37
399 查看
CRM-BaseService的抽取
在项目如果使用了Spring IOC容器的话,那么对于BaseService的抽取,就有技巧性的问题了。核心: 如何给BaseService注入BaseDao (这里bean的注入采用的是注解方式)
代码实现:
//BaseService接口 public interface IBaseService<T> { //新增 public void save(T entity); //更新 public void update(T entity); //根据id删除 public void delete(Serializable id); //根据id查找 public T findObjectById(Serializable id); //查找列表 public List<T> findObjects(); } //BaseService实现 public class BaseServiceImpl<T> implements BaseService<T> { private BaseDao<T> baseDao; //利用set方法实现赋值 public void setBaseDao(BaseDao<T> baseDao) { this.baseDao = baseDao; } @Override public void save(T entity) { baseDao.save(entity); } @Override public void update(T entity) { baseDao.update(entity); } @Override public void delete(Serializable id) { baseDao.delete(id); } @Override public T findObjectById(Serializable id) { return baseDao.findObjectById(id); } @Override public List<T> findObjects() { return baseDao.findObjects(); } } //UserService 对BaseService的使用 @Service("userService") public class UserServiceImpl extends BaseServiceImpl<User> implements UserService { private UserDao userDao; //注解加在set方法上 @Resource public void setUserDao(UserDao userDao) { super.setBaseDao(userDao); this.userDao = userDao; } }
相关文章推荐
- Matlab fspecial和imfilter对图像进行空间滤波
- 随波逐流之iOS AlertView(弹出框)详解
- cf B. Kefa and Company (滑动窗口_简单题)
- 记录一下自己的生活
- poj 3468 A Simple Problem with Integers
- QT 笔记
- 今日学习总结判定素数
- python 多线程问题
- cf C. Kefa and Park (树的dfs)
- Intersection of Two Linked Lists
- 百度面试总结
- hdu 2588
- iOS:网络编程中三个数据解析协议HTTP、XML、JSON的详细介绍
- 快速搞定天气和行程,走遍天下都不怕!
- JavaWeb中连接数据库的一般方式与通过JNDI连接池的方式
- 数据降维
- 机器学习---逻辑回归
- 机房收费系统数据要求说明书
- js创建div
- GTK版WebKit编译详细步骤