一、基础环境
1、Windows10、Java17、Maven3.8.8、Tomcat9.0.76、IDEA2022.3.3
2、已完成Maven项目的创建
2、已完成Struts2、Spring、Hibernate依赖配置
3、已完成实体类创建、Hibernate映射文件配置、第一种方法sessionFactory配置,并且以上配置已测试通过
4、已完成第二种方法数据源和会话工厂的配置、日志打印配置
5、已实现并配置DAO
二、框架版本
struts2:2.5.31
spring:5.3.27
hibernate:5.6.15.Final
三、实现并配置SERVICE
1、创建service、impl目录。
2、在service包下创建EmployeeService接口类,定义接口queryEmployeeByProperty、queryEmployeeByEmpNo、save。
3、在impl包下创建EmployeeService接口的实现类EmployeeServiceImpl。
4、在employeeServiceImpl类中手动注入employeeDao(因为采用的是配置文件的方式,所以手动注入setEmployeeDao方法)。
5、实现queryEmployeeByProperty、queryEmployeeByEmpNo、save方法。
6、将employeeService注入到Spring容器。
代码如下:
<!-- 将employeeService注入到Spring容器 -->
<bean name="employeeService" class="demo.employee.service.impl.employeeServiceImpl">
<property name="employeeDao" ref="employeeDao"/>
</bean>
6、测试
创建employeeService的测试类,执行测试
四、为业务层添加事务管理
1、声明式事务的核心问题是:
对哪些方法,采取什么样的事务策略。
2、配置步骤:
2.1、配置事务管理器的Bean,并为其注入sessionFactory。
2.2、配置tx。制定事务管理规则(在哪些方法上启用事务管理)。
2.3、配置AOP。定义切入点—AOP在哪些方法上起作用;将事务管理规则应用于切入点。
3、测试
在employeeService的测试类中实现save方法。
执行插入测试:
执行回滚测试: