您的位置:首页 > 编程语言 > Java开发

学习Spring事务管理

2017-07-12 11:22 375 查看
什么是事物?事物指的是逻辑上的一组操作,这组操作要么全部成功要么全部失败。

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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring 事务