事务简介:
★ 事务管理是企业级应用程序开发中必不可少的技术,用来确保数据的完整性和一致性。
★ 事务就是一系列的动作被当成一个独立的工作单元,要么全完成,要么全不完成。
事物的属性:
原子性:事务是一个原子操作,由一系列的动作组成,确保动作要么全完成,要么完全不起作用。
一致性:一旦事务的动作完成,事务就被提交,数据和资源就处于一种满足业务格则的一致性状态中。
隔离性:可能有许多事务会同时处理相同的数据,因此每一个事务都应该与其他事物隔离开来,防止数据被破坏。
持久性:一旦事务完成,无论发生啥样的错误,他的结果都不应该收到影响,通常情况下,事务的结果被写到持久化存储器中。
spring中的事物管理:
★ spring在不同事务管理API之上定义了一个抽象层,而应用程序开发人员不必了解底层事务管理的API,就可以使用Spring的事务管理机制。
★ Spring即支持编程式的事务管理,也支持声明式的事务管理。
编程式事务管理:将事物管理代码嵌入到业务方法中来控制事务的提交和回滚。
声明式事务管理:大多数情况下比编程式的好用,它将事物管理代码从业务中分离出来,以声明的方式实现事务管理,事务管理作为一个横切关注点,通过AOP模块化,Spring通过Spring Aop框架支持声明式事务管理。
spring配置事务管理器:
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"></property>
</bean>
启用事务注解:
<tx:annotation-driven transaction-manager="transactionManager"/>