您的位置:首页 > 编程语言 > Java开发

javaEE项目抽取BaseService及其注意事项

2016-03-29 10:10 162 查看
注意:难点在于service需要注入,那么,怎么注入呢?
1、书写BaseService

package cn.buaa.core.service;

import java.io.Serializable;
import java.util.List;

public interface BaseService<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();
}


2、实现接口

package cn.buaa.core.service.impl;

import java.io.Serializable;
import java.util.List;

import cn.buaa.core.dao.BaseDao;
import cn.buaa.core.service.BaseService;

public class BaseServiceImpl<T> implements BaseService<T> {

private BaseDao<T> baseDao;
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();
}

}


3、怎么用呢,如下,设置父类中的Dao

package cn.buaa.nsfw.info.service.impl;

import java.io.Serializable;
import java.util.List;

import javax.annotation.Resource;

import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.stereotype.Service;

import cn.buaa.core.service.impl.BaseServiceImpl;
import cn.buaa.nsfw.info.dao.InfoDao;
import cn.buaa.nsfw.info.entity.Info;
import cn.buaa.nsfw.info.service.InfoService;

@Service("infoService")
public class InfoServiceImpl extends BaseServiceImpl<Info> implements InfoService {

//采用这种方式注入,为了设置父类中的dao
private InfoDao infoDao;

@Resource
public void setInfoDao(InfoDao infoDao) {
super.setBaseDao(infoDao);
this.infoDao = infoDao;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: