注解:实现事务配置
来源:互联网 发布:宁波指动网络董事长 编辑:程序博客网 时间:2024/06/05 09:30
1.配置事务作用策略不再在applicationContext.xml配置文件中设置,而是在EmpBizImpl类中通过注解的方式实现(切面、切入点的配置不再需要)
<!-- 添加事务管理器 --> <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory"></property> </bean> <tx:annotation-driven transaction-manager="txManager"/> <!-- 配置事务作用策略(基于对目标方法名进行通配符匹配) --> <!-- <tx:advice id="txAdvice" transaction-manager="txManager"> <tx:attributes> <tx:method name="add*" propagation="REQUIRED" /> <tx:method name="insert*" propagation="REQUIRED" /> <tx:method name="update*" propagation="REQUIRED" /> <tx:method name="modify*" propagation="REQUIRED" /> <tx:method name="delete*" propagation="REQUIRED" /> <tx:method name="del*" propagation="REQUIRED" /> <tx:method name="find*" read-only="true" /> <tx:method name="get*" read-only="true" /> </tx:attributes> </tx:advice> --> <!-- 指定切入点,织入切面 --> <!-- <aop:config> <aop:pointcut expression="execution(* biz.*.*(..))" id="myPoint" /> <aop:advisor advice-ref="txAdvice" pointcut-ref="myPoint" /> </aop:config> -->
2.EmpBizImpl类
//数据库查询:@Transactional(readOnly=true)//数据库update:@Transactional(propagation=Propagation.REQUIRED,rollbackFor={SQLException.class})package biz.impl;import java.sql.SQLException;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.stereotype.Repository;import org.springframework.stereotype.Service;import org.springframework.transaction.annotation.Propagation;import org.springframework.transaction.annotation.Transactional;import biz.EmpBiz;import dao.DeptDao;import dao.EmpDao;import entity.Emp;@Service("empBiz")public class EmpBizImpl implements EmpBiz { @Autowired @Qualifier("edi") private EmpDao edi; private DeptDao deptDao; public EmpBizImpl() { super(); } public EmpDao getEdi() { return edi; } public void setEdi(EmpDao edi, DeptDao deptDao) { this.edi = edi; this.deptDao = deptDao; } public EmpBizImpl(EmpDao edi) { super(); this.edi = edi; } @Override @Transactional(readOnly=true) public List<Emp> findAllEmp() { return edi.findAllEmp(); } @Override @Transactional(readOnly=true) public List<Emp> findEmpByCondition(Emp e) { // TODO Auto-generated method stub return edi.findEmpByCondition(e); } @Override @Transactional(readOnly=true) public List<Emp> findEmpByNameParam(Emp e) { // TODO Auto-generated method stub return null; } @Override @Transactional(readOnly=true) public List<Emp> findEmpByExemple(Emp e) { // TODO Auto-generated method stub return null; } @Override @Transactional(readOnly=true) public Emp findEmpById(int id) { // TODO Auto-generated method stub return null; } @Override @Transactional(propagation=Propagation.REQUIRED,rollbackFor={SQLException.class}) public int addEmp(Emp e) { return edi.addEmp(e); } @Override @Transactional(propagation=Propagation.REQUIRED,rollbackFor={SQLException.class}) public void modifyEmp(Emp e) { edi.modify(e); } @Override @Transactional(readOnly=true) public List<Emp> findEmpbyPage(int pageNo, int pageSize) { // TODO Auto-generated method stub return edi.findEmpByPage(pageNo, pageSize); } @Override @Transactional(propagation=Propagation.REQUIRED,rollbackFor={SQLException.class}) public void updateBatchEmpSal(double sal) { edi.updateBatchEmpSal(sal); }}
0 0
- 注解:实现事务配置
- 编程式事务、XML配置事务、注解实现事务
- 编程式事务、XML配置事务、注解实现事务
- springMVC 注解事务配置
- Spring注解事务配置
- spring 注解事务配置
- spring配置,事务,注解
- spring的编程式事务、XML配置事务、注解实现事务
- Spring注解型事务配置
- Spring注解型事务配置
- Spring注解型事务配置
- MyBatis Spring 注解事务配置
- Spring(四)基于注解配置IOC容器&基于注解实现声明式事务
- Spring(四)基于注解配置IOC容器&基于注解实现声明式事务
- SpringBoot事务注解实现原理
- castle activeRecored 配置 注解 事务配置
- spring 注解事务机制配置和xml事务配置
- Spring注解声明式事务配置
- PAT-甲级-1019
- 注解:Hibernate通过实体类数据持久化
- 格式化输出和枚举
- JDBC操作MySQL进行批处理
- [UOJ79]一般图最大匹配
- 注解:实现事务配置
- OSGi初学习
- 开发之旅
- oracle学习总结-----trigger
- oracle中的decode的使用
- 最令初学JS者痛恨的 this
- C++ STL容器迭代器失效-笔记
- Linux学习记录 day2
- android 使用startActivity()从一个fragment 跳转另一个activity出错