`

spring中配置使用事务

阅读更多

使用如下配置方式实现:

无论在方法中发生任何异常,只要方法中抛出一个Exception,包括是自己设置抛出的异常,事务都进行回滚

对比1.1与2.0中事务的配置方法

配置文件如下 1.1

  1. <bean id="baseTxService" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"           abstract="true">    
  2.         <property name="transactionManager" ref="transactionManager"/>    
  3.         <property name="proxyTargetClass" value="true"/>  
  4.          <property name="transactionAttributes">  
  5.              <props>    
  6.                 <prop key="get*">PROPAGATION_REQUIRED,readOnly </prop>    
  7.                 <prop key="find*">PROPAGATION_REQUIRED,readOnly </prop>    
  8.                 <prop key="save*">PROPAGATION_REQUIRED,-Exception </prop>    
  9.                 <prop key="remove*">PROPAGATION_REQUIRED ,-Exception </prop>  
  10.             props>    
  11.         property>  
  12.          <property name="preInterceptors">    
  13.             <list>  
  14.                  <ref bean="methodSecurityInterceptor"/>  
  15.              list>    
  16.         property>  
  17.   bean>  
  18.   <bean id="bookManager" parent="baseTxService">  
  19.          <property name="target">    
  20.             <bean class="org.springside.bookstore.admin.manager.BookManager"/>  
  21.            property>  
  22.   bean>  

 

spring 2.0 中事务配置方法

  1. <aop:config proxy-target-class="true">  
  2.      <aop:advisor pointcut="execution(* *..*Manager.*(..))" advice-ref="txAdvice"/>  
  3.      <aop:advisor pointcut="execution(* *..*Manager.save(..))" advice-ref="fooAdvice"/> aop:config>  
  4. <tx:advice id="txAdvice" transaction-manager="transactionManager">  
  5.      <tx:attributes>  
  6.          <tx:method name="save*"/>  
  7.          <tx:method name="remove*"/>  
  8.          <tx:method name="*" read-only="true"/>  
  9.     tx:attributes>  
  10.  tx:advice>  
  11.   <bean id="bookManager" class="org.springside.bookstore.commons.service.BookManager"/>  
分享到:
评论

相关推荐

    在Spring中配置Hibernate事务

    在Spring配置中定义一个HibernateTransactionManager实例,将SessionFactory注入其中。例如: ```xml &lt;bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager"&gt; ...

    spring事务操作试验

    使用它,你可以控制事务的开始、提交、回滚以及设置事务隔离级别。 在Spring事务中,有几种常见的隔离级别可供选择,包括读未提交(READ UNCOMMITTED)、读已提交(READ COMMITTED)、可重复读(REPEATABLE READ)...

    spring事务与数据库操作

    ### Spring事务与数据库...- **配置事务规则**:最后,需要配置事务规则,指定哪些方法需要在事务中执行。 ##### 1.3 示例代码 下面是一个简单的示例,展示了如何使用XML配置文件来配置Spring的声明式事务: ```xml ...

    spring3.0两种事务管理配置

    这种方法只需要在 Spring 配置文件中定义一个事务管理对象(如 DataSourceTransactionManager),然后加入 `&lt;tx:annotation-driven/&gt;` 节点,引用该事务管理对象,然后即可在需要进行事务处理的类和方法使用 `@...

    spring事务配置的5中方式

    例如,对于DAO层的UserDao,我们首先定义UserDaoTarget作为实际的实现类,然后创建一个TransactionProxyFactoryBean作为UserDao的代理,通过设置事务管理器和切面来控制事务行为。以下是一个例子: ```xml ...

    Spring AOP配置事务方法

    在上面的配置文件中,我们可以看到 `&lt;bean&gt;` 元素用于定义一个名为 "sgis.sdk.transactionManager" 的事务管理器,该管理器使用数据源连接池来管理事务。 Context 文件配置: Context 文件是 Spring AOP 的核心...

    Spring配置JTA事务管理

    Spring框架在企业级Java应用中广泛用于实现...总的来说,Spring配置JTA事务管理是一项关键任务,它确保了在分布式环境下的数据一致性。理解并正确配置JTA事务管理,能够让你的应用程序更加健壮,适应复杂的企业级需求。

    spring声明式事务配置

    根据提供的信息,我们可以深入探讨Spring框架中的声明式事务配置及其多种实现方式。声明式事务管理是一种简化事务管理的方式,它允许开发人员通过配置而非编程来指定事务边界,从而减少了代码的复杂性并提高了可维护...

    Spring事务与Java事务比较

    Spring 支持在 XML 配置文件中使用 `&lt;tx:advice&gt;` 和 `&lt;tx:annotation-driven&gt;` 元素,以及在 Java 配置中使用 `@Transactional` 注解来声明事务。声明式事务管理使得事务管理更加透明,降低了业务代码的复杂性。 ...

    Spring基于XML方式配置事务

    在Spring配置文件中,我们需要引入`tx`命名空间,并声明一个`PlatformTransactionManager`实例,例如,对于基于JDBC的事务管理,我们会使用`&lt;bean id="transactionManager" class="org.springframework.jdbc....

    Spring事务管理Demo

    2. 开启事务:使用`@Transactional`注解标记需要在事务中执行的方法。 3. 业务逻辑:在事务中执行相关的数据库操作。 4. 提交或回滚事务:如果所有操作成功,事务将被提交;如果有异常,事务将被回滚。 在压缩包中...

    spring几种事务配置详解【精】

    可以通过`@Transactional`注解的`timeout`属性或者XML配置中的`propagation`元素的`timeout`属性来设置事务的超时时间,单位为秒。 以上就是Spring框架中常见的事务配置方式及其相关概念,理解并熟练掌握这些知识...

    Spring自定义切面事务问题

    - **Spring AOP**:Spring AOP允许开发者将一些通用的业务逻辑(例如日志、事务管理等)从业务代码中抽离出来,形成一个独立的部分,即切面(Aspect)。这样做的好处是可以减少业务代码的耦合度,提高代码的可读性...

    spring声明事务的配置

    此外,Spring Boot简化了Spring应用的启动和配置,包括事务管理,使得在现代项目中使用声明式事务更加便捷。 总的来说,Spring声明式事务管理提供了一种强大且灵活的方式来控制事务的边界,使得事务管理与业务逻辑...

    spring 的3种事务配置方式

    在Spring中,事务的传播行为包括`PROPAGATION_REQUIRED`(默认,必须在一个事务中运行)、`PROPAGATION_SUPPORTS`(如果存在事务,则加入,否则非事务运行)、`PROPAGATION_MANDATORY`(必须在一个存在的事务中运行...

    spring事务配置的五种方式

    1. **基于XML的全局事务配置**:这种方式通过在Spring配置文件中设置`&lt;tx:advice&gt;`和`&lt;aop:config&gt;`元素来实现事务管理。相比于第一种方式,这种方式更加简洁,适用于所有业务逻辑Bean。 2. **基于注解的事务配置**...

    4.Spring中的JdbcTemplate,Spring中的的事务,

    #### 在DAO中使用JdbcTemplate 在DAO层使用JdbcTemplate可以有两种方式: 1. **直接在DAO类中定义JdbcTemplate**: ```java public class AccountDao { private JdbcTemplate jdbcTemplate; public void ...

    Spring使用XML配置声明式事务

    这篇博文"Spring使用XML配置声明式事务"详细介绍了如何在Spring中使用XML配置来实现这一功能。 首先,我们需要了解Spring的核心组件之一——ApplicationContext,它是Spring容器的实例,负责管理和装配我们的bean。...

    实验 spring 声明事务

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

    spring+ibatis事务的配置

    很好的spring+ibatis事务的配置文档.

Global site tag (gtag.js) - Google Analytics