学习Spring事务管理

什么是事物?事物指的是逻辑上的一组操作,这组操作要么全部成功要么全部失败。
Spring事务: 1,原子性 2,一致性 3,隔离性 4,持久性。
原子性:原子性是指事物是不可分割的工作单位,事物中的操作要么都发生要么都不发生。
一致性:事物数据完整性前后保持一致。
隔离性:隔离性是指多个用户同时并发访问数据库时,一个用户的事物不能被其他用户干扰,多个并发事务数据要隔离。
持久性:事物一旦被提交,它对数据库的改变是永久的,及时数据库发生故障也不应该对其有影响。

Spring事物管理的接口:

            1,`PlatfromTransactionManager`(事物管理器)
               `DataSourceTransactionManager`(Mybatis   JDBC 用)
            2,`TransactionDefinition`(事物定义信息(隔离,传播,超时,只读))
            3,`TransactionStatus`(事物具体运行状态)

Spring事物管理:

基于Xml配置:

1,配置事物管理器

<bean id="transactionManager"class="DataSourceTransactionManager">
        <property  name="dataSource" ref ="dataSource(数据库连接池的id)" />
</bean>

2,配置事物

<tx:advice id = "txAdvice" transactionManager = "transactionManager">
<tx:attributs>
<tx:method name="方法名 要去执行事物的方法">
</tx:attributs>
</tx:advice>

配置切面:

<aop:config>
//配置切入点
<aop:pointcut expression="execution(包名+方法*(参数..))" id="pointcut1">
                //加号代表子类,*所有方法,(..)不限定参数个数
                //配置切面
<aop:advisor advice-ref="txAdvice" pointcut-ref="pointcut1"/>
                //aspect(多个切入点),advisor(单个切入点)
</aop:config>

基于注解配置:

1,配置事物管理器

<bean id="transactionManager"class="DataSourceTransactionManager">
        <property  name="dataSource" ref ="dataSource(数据库连接池的id)" />
</bean>

2,开启注解事物
//注解驱动

<tx:annottation-driven transaction-manager="transactionManager"/>

3,配置注解
那个类上需要配置事物就在那个类上去添加注解(@Transactional)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值