Spring之事务管理配置

基于注解的事务配置:

  1. 在需要添加事务的方法上加上@Transactional注解

  2. Spring的配置文件中配置事务管理器

    

 1     <!-- 添加事务管理器组件DataSourceTransactionManager -->
 2     <bean id="transactionManager"
 3         class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
 4         <!-- 使用set方法注入数据源 -->
 5         <property name="dataSource" ref="dataSource"></property>
 6     </bean>
 7
 8     <!-- 开启基于注解声明式事务 注意配置transaction-manager属性,它引用了我们事务管理组件对象,这里要和事务管理器组件id一致
 9         默认是transactionManager -->
10     <tx:annotation-driven transaction-manager="transactionManager" />

基于XML的事务配置:

1. 在Spring的配置文件中进行配置

  

 1     <!-- 配置事务管理器 -->
 2     <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
 3         <!-- 装配数据源 -->
 4         <constructor-arg name="dataSource" ref="dataSource"></constructor-arg>
 5     </bean>
 6     <!--使用xml配置事务方法 -->
 7     <aop:config>
 8         <!-- 设置添加事务的方法,使用切入点表达式-->
 9         <aop:pointcut expression="execution(* *.checkout(..))" id="mypoint"/>
10         <!-- 将事务方法和事务的相关配置关联起来 -->
11         <aop:advisor advice-ref="myAdvice" pointcut-ref="mypoint" />
12     </aop:config>
13     <!-- tx配置事务的属性 (使用tx名称空间)-->
14     <tx:advice id="myAdvice" transaction-manager="transactionManager">
15         <tx:attributes>
16             <!-- 配置事务的属性,多个事务方法也可以在这个里面放,name设置事务方法名,propagation设置事务相关信息 -->
17             <tx:method name="checkout" propagation="REQUIRED"/>
18         </tx:attributes>
19     </tx:advice>

原文地址:https://www.cnblogs.com/Hibara/p/8494674.html

时间: 2024-08-26 08:10:13

Spring之事务管理配置的相关文章

spring,mybatis事务管理配置与@Transactional注解使用

spring,mybatis事务管理配置与@Transactional注解使用[转] 概述事务管理对于企业应用来说是至关重要的,即使出现异常情况,它也可以保证数据的一致性.Spring Framework对事务管理提供了一致的抽象,其特点如下: 为不同的事务API提供一致的编程模型,比如JTA(Java Transaction API), JDBC, Hibernate, JPA(Java Persistence API和JDO(Java Data Objects) 支持声明式事务管理,特别是基

spring,mybatis事务管理配置与@Transactional注解使用[转]

spring,mybatis事务管理配置与@Transactional注解使用[转] spring,mybatis事务管理配置与@Transactional注解使用 概述事务管理对于企业应用来说是至关重要的,即使出现异常情况,它也可以保证数据的一致性.Spring Framework对事务管理提供了一致的抽象,其特点如下: 为不同的事务API提供一致的编程模型,比如JTA(Java Transaction API), JDBC, Hibernate, JPA(Java Persistence A

事务管理配置与@Transactional注解使用

spring,mybatis事务管理配置与@Transactional注解使用 概述 事务管理对于企业应用来说是至关重要的,即使出现异常情况,它也可以保证数据的一致性. Spring Framework对事务管理提供了一致的抽象,其特点如下: 为不同的事务API提供一致的编程模型,比如JTA(Java Transaction API), JDBC, Hibernate, JPA(Java Persistence API和JDO(Java Data Objects) 支持声明式事务管理,特别是基于

spring 事务管理配置

一般的,我们把事务配在service层,利用service的业务逻辑接口统一的管理. 为什么不用在dao层呢? 因为一个service有可能调用多个dao,而这多个dao有可能相互联系,有时候一个操作需要调用多次数据库,但是这多次调用要么全提交,要么全回滚. 因此,在dao层调用事务理论上说不是一个很明智的选择.应该有业务逻辑层service层负责事务,统一处理. Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource.TransactionManager和代理机制这三

spring配置代理事务管理配置

方式一 <!-- 用代理类对 TransactionManager进行组合切面事务管理 --> <tx:advice id="advice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="find*" propagation="REQUIRED" read-only="tr

spring与事务管理

就我接触到的事务,使用最多的事务管理器是JDBC事务管理器.现在就记录下在spring中是如何使用JDBC事务管理器 1)在spring中配置事务管理器 <!-- JDBC事务 -->    <bean id="jdbcTransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">        <property

Spring4+Hibernate4 事务管理 配置 注解 AOP

在单独使用hibernate的时候 使用如下配置: <property name="hibernate.current_session_context_class">thread</property> 根据文档,这个是hibernate3.1以后的一个新扩展,目的在于可以让我们在某一个上下文环境(比如说当前线程)中可以通过SessionFactory.getCurrentSession()得到同一个session会话. 该方式hibernate会自动关闭sess

Spring初学之spring的事务管理xml

所有的java类都是用的上一篇文章:Spring初学之spring的事务管理 不同的是,这时xml配置事务,所以就要把java类中的那些关于spring的注解都删掉,然后在xml中配置,ApplicationContext.xml如下: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans&q

Spring的事务管理

事务 事务:是逻辑上一组操作,要么全都成功,要么全都失败. 事务特性(ACID) 原子性:事务不可分割 一致性:事务执行的前后,数据完整性保持一致 隔离性:一个事务执行的时候,不应该受到其他事务的打扰 持久性:一旦结束,数据就永久的保存到数据库 如果不考虑隔离性 脏读:一个事务读到另一个事务未提交数据 不可重复读:一个事务读到另一个事务已经提交数据(update)导致一个事务多次查询结果不一致 虚读:一个事务读到另一个事务已经提交数据(insert)导致一个事务多次查询结果不一致 事务的隔离级别