`

spring中事务(二)

 
阅读更多

1.Spring声明式事务:配置声明式事务处理(配置Spring,针对service层的bean做事务处理)
a.Spring事务模板:

<!--声明jdbc事务管理器-->
<bean id="jdbcTransactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
</bean>

  <!--声明集成Hibernate事务管理器-->
  <bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
  
   <!--拦截器,定义切面在哪些方法上使用-->
<bean id="proxyInterceptor"
class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager">
<ref bean="transactionManager" />
</property>

<property name="transactionAttributes">
<props>
<!--所有以get,load方法开头的操作都是只读的事务,get和load也可以修改成其他的开头方式-->
<prop key="*">PROPAGATION_REQUIRED</prop>  <!--事务类型-->
<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="load*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>

  <!--代理类,定义切面在哪些类上使用-->
<bean
class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="interceptorNames">
<value>proxyInterceptor</value>
</property>
<property name="beanNames">
<list>
<value>*Service</value>
</list>
</property>
</bean>

分享到:
评论

相关推荐

    Spring中事务的传播属性详解

    这意味着`methodB`内部的操作将在自己的事务中完成,不受`methodA`事务的影响。如果`methodB`的事务提交成功,但`methodA`的事务回滚,`methodB`的结果不会受到影响。 5. **PROPAGATION_NOT_SUPPORTED** `methodB...

    spring事务与数据库操作

    ### Spring事务与数据库操作 #### 一、Spring的声明式事务管理 在现代软件开发中,事务处理是非常关键的一部分,特别是在涉及多个数据操作时。Spring框架提供了强大的事务管理能力,可以方便地集成到应用程序中。...

    Spring事务管理Demo

    Spring事务管理的目的是确保数据的一致性和完整性,尤其是在多操作、多资源的环境中。本Demo将深入探讨Spring如何实现事务的管理。 首先,Spring提供了两种主要的事务管理方式:编程式事务管理和声明式事务管理。 ...

    实验 spring 声明事务

    接着,使用`&lt;tx:advice&gt;`和`&lt;tx:attributes&gt;`定义事务策略,例如,将所有以`insert*`、`update*`和`delete*`开头的方法设置为`REQUIRED`传播属性,意味着这些方法必须在事务中执行。最后,使用`&lt;aop:config&gt;`配置...

    Spring事务流程图

    Spring事务管理是Spring框架的核心特性之一,主要用于处理应用程序中的数据一致性问题。在Spring中,事务管理分为编程式和声明式两种方式。本篇文章将详细解释Spring事务管理的流程,以及如何通过时序图来理解这一...

    spring学习事务源码

    此外,Spring的事务传播行为(PROPAGATION_REQUIRED, PROPAGATION_REQUIRES_NEW等)是另一个重要概念,它定义了在一个事务中的方法如何启动新的事务或者加入到当前事务中。例如,PROPAGATION_REQUIRED表示如果当前...

    spring事务操作试验

    在Spring事务中,有几种常见的隔离级别可供选择,包括读未提交(READ UNCOMMITTED)、读已提交(READ COMMITTED)、可重复读(REPEATABLE READ)和串行化(SERIALIZABLE)。每种隔离级别都有其特定的并发控制策略,...

    Spring Hibernate事务实例

    在上面的例子中,`saveUser`方法会在一个事务中执行,如果发生异常,整个事务会被回滚,确保数据的一致性。 总结一下,`Spring Hibernate事务实例`涵盖了以下核心知识点: 1. Spring框架的声明式事务管理:通过`...

    spring声明事务的配置

    - `PROPAGATION_NEVER`:不允许在事务中运行,如果已经在一个事务中,将抛出异常。 - `PROPAGATION_REQUIRES_NEW`:总是新建一个事务,如果存在事务,暂停当前事务。 - `PROPAGATION_SUPPORTS`:如果当前存在事务...

    深入理解spring的事务管理机制

    #### 二、Spring事务的传播属性 Spring提供了不同的事务传播属性来控制在多个事务同时存在时的行为。这些属性定义在`TransactionDefinition`接口中,具体的常量及其含义如下: 1. **PROPAGATION_REQUIRED**:这是...

    Spring分布式事务实现

    其中,Spring的分布式事务管理是其核心特性之一,它允许开发者在分布式系统环境中处理复杂的事务逻辑。本篇将深入探讨Spring如何实现分布式事务,以及涉及到的相关技术。 首先,分布式事务是指在多个数据库或者服务...

    Spring2.0 事务处理

    这段代码表明`saveUser`方法将在一个事务中执行,如果发生异常,事务将被回滚。 总的来说,Spring 2.0的事务处理机制是其核心功能之一,它通过声明式和编程式的事务管理方式为开发者提供了极大的便利。理解并熟练...

    spring 自定义事务管理器,编程式事务,声明式事务@Transactional使用

    在Spring框架中,事务管理是核心功能之一,它确保了数据操作的一致性和完整性。本教程将深入探讨如何在Spring中实现自定义事务管理器...这将加深你对Spring事务管理的理解,帮助你在实际项目中更加熟练地运用这些技术。

    Spring的事务管理小案例

    原子性确保事务中的所有操作要么全部成功,要么全部失败;一致性确保事务执行前后,数据的状态符合业务规则;隔离性防止多个事务并发执行时的数据交错;持久性则保证一旦事务提交,其结果将永久保存。 Spring的事务...

    spring hibernate 事务管理学习笔记(二)

    而PROPAGATION_REQUIRES_NEW则总是新建一个事务,即使在已有事务中调用,也会暂停当前事务,执行新的事务。 在实际开发中,我们还需要关注事务的隔离级别,包括READ_UNCOMMITTED、READ_COMMITTED、REPEATABLE_READ...

    Spring Nested事务简单案例

    当数据库表的结构与事务操作相关时,这样的脚本可以帮助我们理解数据在事务中的变化过程。 接下来,`Nested`文件可能包含了具体的Java代码,这些代码展示了如何在Spring应用中设置和使用Nested事务。通常,Spring的...

    spring 事务传播 demo

    例如,一个服务类中的某个方法可能使用`@Transactional(propagation = Propagation.REQUIRES_NEW)`注解,这样无论调用它的方法是否在事务中,都会开启一个新的独立事务。 Spring的事务管理器,如...

    Spring 事务简单完整例子

    在Spring中,通常会使用`@Transactional`注解来声明一个方法需要在事务中执行。这个注解可以放在类级别或方法级别,以定义事务的范围。 对于JDBC事务,Spring提供了一种统一的事务管理接口`...

    spring hibernate 事务管理学习笔记(一)

    通过声明式事务管理,我们只需在方法上添加`@Transactional`注解,即可声明该方法在一个事务中执行。 接下来,我们将深入讨论Spring中的声明式事务管理。在Spring配置文件中,我们需要开启事务管理器,并在需要事务...

    spring 事务基于注解模式

    在上述例子中,`createUser`方法会被包裹在一个事务中,如果其中一个数据库操作失败,整个事务都会回滚。 ### 4. 检查点和回滚 Spring默认会在出现未捕获的运行时异常时回滚事务。通过`rollbackFor`和`...

Global site tag (gtag.js) - Google Analytics