Service层搭建
在搭好Dao层后需要搭建service层,这层的结构如下图:
我们需要定义一个接口,然后在接口上进行操作,定义实现类,实现对数据对象的操作。
所以需要定义两个新的包文件,定义如下:
接着实现两个类的代码,首先是ISysUserGroupService.java:
public interface ISysUserGroupService {
public final static String SERVICE_NAME="com.huiyu.crm.service.SysUserGroupServiceImpl";
public void saveSysUserGroup(SysUserGroup sysUserGroup);
}
因为大多使用注解进行编程,所以需要定义新的业务名称
实现类SysUserGroupImpl.java
@Transactional(readOnly=true)
@Service(ISysUserGroupService.SERVICE_NAME)
public class SysUserGroupServiceImpl implements ISysUserGroupService {
@Resource(name=ISysUserGroupDao.SERVICE_NAME)
private ISysUserGroupDao sysUserGroupDao;
@Transactional(isolation=Isolation.DEFAULT,propagation=Propagation.REQUIRED,readOnly=false)
public void saveSysUserGroup(SysUserGroup sysUserGroup) {
sysUserGroupDao.save(sysUserGroup);
}
}
这里需要说明的是,在类级别是只读,而在方法级别需要修改,将其修改为只读为false,因为方法级别的将会覆盖类级别。
测试类:
public class TestSysUserGroupService {
@Test
public void testSave() {
ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
ISysUserGroupService sysUserGroupService = (ISysUserGroupService) ctx
.getBean(ISysUserGroupService.SERVICE_NAME);
//插入数据
SysUserGroup sysUserGroup = new SysUserGroup();
sysUserGroup.setId(3);
sysUserGroup.setIncumbent("销售部");
sysUserGroup.setName("李五");
sysUserGroup.setPrincipal("张三");
sysUserGroup.setRemark("no remark");
sysUserGroupService.saveSysUserGroup(sysUserGroup);
}
}