Spring中的事务管理
来源:互联网 发布:咸鱼淘宝介入怎么处理 编辑:程序博客网 时间:2024/05/18 03:10
1、使用XML配置声明式事务
public interface BbtTopic{ void addTopic(Topic topic); int getTopicNum(); } public class BbtTopicImpl implements BbtTopic{ private TopicDao topicDao; public void addTopic(Topic topic){ topicDao.addTopic(topic); } public int getTopicNum(){ return topicDao.getTopicNum(); } }我们希望对addTopic()添加写事务功能,对getTopicNum()提供读事务功能,配置如下:
首先添加tx和aop命名空间
<bean id="bbtTopic" class="xxx.xxx.BbtTopicImpl" p:topicDao-ref="topicDao"> //引用DAO </bean> <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager" p:dataSource-ref="dataSource">//引用数据源 </bean> <aop:config> //将xxx.xxx.service包下以Topic结尾的类纳入进行事务增强的范围 <aop:pointcut id="serviceMethod" expression="execution(* xxx.xxx.service.*Topic.*(..))"/> <aop:advisor pointcut-ref="serviceMethod" advice-ref="txAdvice"> </aop:config> <tx:advice id="txAdivce" transaction-manager="txManager"> <tx.attributes> <tx:method name="get*" read-only="true"/> <tx:method name="add*" rollback-for="Exception"/> </tx.attributes> </tx:advice>
2、使用注解配置声明式事务
(1)对实现类添加@Transactional
public interface BbtTopic{ void addTopic(Topic topic); int getTopicNum(); } @Transactional public class BbtTopicImpl implements BbtTopic{ private TopicDao topicDao; public void addTopic(Topic topic){ topicDao.addTopic(topic); } public int getTopicNum(){ return topicDao.getTopicNum(); } }(2)xml配置
<bean id="bbtTopic" class="xxx.xxx.BbtTopicImpl" p:topicDao-ref="topicDao"> //引用DAO </bean> <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager" p:dataSource-ref="dataSource">//引用数据源 </bean> <tx:annotation-driven transaction-manager="txManager"/> //proxy-target-class="false|true"
0 0
- [Spring]Spring中的事务管理
- Spring6:Spring中的事务管理
- Spring中的事务管理
- spring中的事务管理
- Spring中的事务管理方式
- Spring 中的事务管理
- spring框架中的事务管理
- Spring中的事务管理
- Spring中的事务管理
- Spring 中的事务管理
- Spring中的事务管理方式
- Spring中的事务管理
- Spring中的事务管理
- Spring 中的事务管理
- Spring 中的事务管理
- Spring Boot中的事务管理
- Spring Boot中的事务管理
- Spring Boot中的事务管理
- Windows Application UIAccess
- Opencv学习(一)——安装配置遇到的问题
- Android自定义ListView实现第一可见项和最后可见项的淡入淡出效果
- 解决tableview顶部留白一段的处理方法
- sql 多条合并一条数据方法摘录
- Spring中的事务管理
- 深入理解Java的接口和抽象类
- git 如何把本地文件push到gitlab(remote)上
- 栈Java实现
- java继承多态方法调用测试
- 清除浮动最好的方法
- 深入Java集合系列之六:CopyOnWriteArrayList
- leetcode 234. Palindrome Linked List
- 数据库