spring中的aop事物
来源:互联网 发布:死神漫画单行本淘宝 编辑:程序博客网 时间:2024/06/10 00:29
- 事物的特性(ACID)
- A(Atomicity):原子性
- C(Consistency):一致性
- I(Isolation):隔离性
- D(Durability):持久性/永久
事物并发带来的问题
- 脏读
- 不可重复读
- 幻读
事物的隔离级别
- 读未提交
- 读已提交
- 可重复读
- 串行化
spring封装了事物管理代码
事物操作
- 打开事物
- 提交事物
- 回滚事物
事物操作对象
- 因为在不同平台操作事物的代码各不相同,spring提供了一个接口:PlatformTransactionManager实现类:
DataSourceTransactionManager
HibernateTransitionManager
注意:在spring中事务管理最核心的对象就是TransactionManager
xml配置事物
<!-- 数据库连接池 --><bean name="dataSource" class="...">....</bean><!-- 事物核心管理器 --><bean name="transactionManager" class="org.springframework.jdbc.dataSource.DataSourceTransactionManager ><property name="dataSource" ref="dataSource" /></bean>.....<!-- 配置事物通知 --><tx:advice id="txAdvice" transaction_manager="transactionManager" <tx:attributes> <!-- 以方法为单位,指定方法用什么事物属性 isolation:隔离级别 propagation:传播行为 readonly:是否只读 --> <tx:methond name="save" isolation="REPEATABLE_READ" propagation="REQUIRED" read-only="false" /> <tx:methond name="update" isolation="REPEATABLE_READ" propagation="REQUIRED" read-only="false" /> <tx:methond name="delete" isolation="REPEATABLE_READ" propagation="REQUIRED" read-only="false" /> <tx:methond name="get" isolation="REPEATABLE_READ" propagation="REQUIRED" read-only="true" /> </tx:attributes></tx:advice><!--配置织入 --><aop:config> <!--配置切点表达式 --> <aop:pointcut expression="exexution(* com.gjh.service.*ServiceImpl.*(..))) id="txPC" /> <!--配置切面:通知+切点 advice-ref:通知的名称 pointcut-ref:切点的名称 --> <aop:advisor advice-ref="txAdvice" pointcut-ref="txPC" /></aop:config>
注解配置
- 开启使用注解管理aop事物
<!-- 数据库连接池 --><bean name="dataSource" class="...">....</bean><!-- 事物核心管理器 --><bean name="transactionManager" class="org.springframework.jdbc.dataSource.DataSourceTransactionManager ><property name="dataSource" ref="dataSource" /></bean><!-- 开启使用注解管理aop事物 --><tx:annotation-driven />
- 使用注解
@Transactional(isolation=Isolation.REPEATABLE_READ,propagation=Propagation.REQIRED,readOnly=false)//给方法家伙是那个注解public void update(){}
@Transactional(isolation=Isolation.REPEATABLE_READ,propagation=Propagation.REQIRED,readOnly=false)//类中所有方法都加上事物public class UserServiceImpl implements UserService{}
阅读全文
0 0
- spring中的aop事物
- Spring AOP + 事物
- 关于Spring中的AOP和事物的源码剖析
- spring AOP事物管理(声明式事物)
- spring aop事物管理不起作用
- AOP Spring管理事物 Spring管理系统
- spring中的事物传播
- Spring中的事物
- spring tx:advice ...aop:config配置事物
- spring事物回滚之AOP
- 使用spring的aop模拟事物
- Spring配置之hibernate事物管理AOP
- Spring基础部分(ioc,aop,事物)
- AOP事物处理中的传播行为详解
- spring中的事物处理1
- 事物AOP
- Spring 中的 AOP
- Spring 中的 AOP
- 魔法森林
- 搜索添加历史记录和商品详情
- codevs4927 线段树练习5(线段树)
- python数据预处理之将类别数据转换为数值的方法
- MyShopping 仿京东购物车
- spring中的aop事物
- Leetcode 86. Partition List
- 网络编程(1)
- 计算机网络笔记
- 人脸识别(一)调用face++实现人脸检测。
- C++对象向上转型
- 浅谈web项目越权风险问题
- 使用BigDecimal进行精确小数计算
- viewpager 加载更多