参考:
Spring AOP中pointcut expression表达式解析 及匹配多个条件
http://www.cnblogs.com/qinyubin/p/4075466.html
Spring事务配置多个切点,即多个execution
http://blog.csdn.net/z_dendy/article/details/9447857
<tx:annotation-driven transaction-manager="springTransactionManager" proxy-target-class="true"/>
<!-- 定义事务的管理者 -->
<tx:advice id="txAdvice" transaction-manager="springTransactionManager">
<!-- 定义使用事务的方法特征行为 -->
<tx:attributes>
<tx:method name="delete*" propagation="REQUIRED" read-only="false"
rollback-for="java.lang.RuntimeException"/>
<tx:method name="insert*" propagation="REQUIRED" read-only="false"
rollback-for="java.lang.RuntimeException"/>
<tx:method name="update*" propagation="REQUIRED" read-only="false"
rollback-for="java.lang.RuntimeException"/>
<tx:method name="find*" propagation="SUPPORTS"/>
<tx:method name="get*" propagation="SUPPORTS"/>
<tx:method name="select*" propagation="SUPPORTS"/>
<tx:method name="query*" propagation="SUPPORTS"/>
<tx:method name="*" propagation="SUPPORTS"/>
</tx:attributes>
</tx:advice>
<!-- 配置事务切入点 -->
<aop:config>
<!--把事务控制在Service层-->
<aop:pointcut id="bussinessService"
expression="execution(public * com.pandy..atomikos.service..*Service*.*(..))"/>
<!-- 指定bussinessService切入点应用txAdvice处理器,即该切入点的所有符合特征的方法均具备了事务性 -->
<aop:advisor pointcut-ref="bussinessService" advice-ref="txAdvice"/>
</aop:config>
<!--
*:匹配任何数量字符;
..:匹配任何数量字符的重复,如在类型模式中匹配任何数量子包;而在方法参数模式中匹配任何数量参数。
+:匹配指定类型的子类型;仅能作为后缀放在类型模式后边。
-->
分享到:
相关推荐
你可以使用`<aop:config>`和`<aop:advisor>`元素来指定哪些类或方法需要事务管理: ```xml <aop:config> <aop:pointcut id="businessServiceMethods" expression="execution(* com.example.service.*.*(..))"/> ...
在Spring框架中,事务管理是...总结来说,Spring提供多种事务配置方式,可以根据项目需求和团队偏好选择合适的方式。理解这些配置方式的核心原理,能够帮助我们更好地管理和控制事务,从而提高应用的稳定性和可靠性。
- 在XML配置文件中,可以使用`<tx:advice>`和`<aop:config>`或`<aop:aspect>`来定义事务通知和切点表达式,然后通过`<aop:advisor>`或`<tx:attributes>`来应用事务策略。这种方式更为灵活,但配置较为复杂。 4. **...
这种方式会自动为带有`@Transactional`注解的方法创建AspectJ代理,无需额外的`aop:config`。 综上所述,Spring提供了灵活多样的事务管理配置方式,可以根据项目需求选择适合的方案。理解并熟练运用这些配置,将有...
此配置示例通过AOP的方式配置了事务管理,所有在`com.bluesky.spring`包下的方法都会应用上`REQUIRED`的事务传播行为。 #### 四、基于注解的声明式事务管理 这种方式是最常用的事务配置方式,通过在Java代码中使用...
Spring 2.x版本的声明式事务配置模板是开发者常用的一种方式,它通过AOP(面向切面编程)实现事务的自动管理,使得开发者无需在业务代码中显式调用事务开始、提交或回滚等操作。下面我们将详细探讨Spring 2.x的声明...
Spring使用代理模式来实现AOP,根据配置(如@Transactional注解)为被代理对象创建一个代理对象。当调用被代理对象的方法时,实际上是调用了代理对象的方法,这样就能在方法执行前后插入事务控制代码。然而,如果一...
1. Spring事物配置详解: 在Spring框架中,事务管理是核心功能之一,它允许开发者以声明式或编程式的方式来管理事务。声明式事务管理通过在XML配置文件或注解中定义事务边界,使得事务处理更加简洁。例如,可以使用...
5. **事务管理**:"spring源代码解析(六):spring声明式事物处理.doc"分析了Spring如何提供声明式事务管理,包括@Transactional注解的工作原理和事务传播行为。 6. **Spring与Hibernate集成**:"spring源代码解析...
2. **Spring**:是整个SSH架构的核心,提供IoC(Inversion of Control)和AOP(Aspect-Oriented Programming)功能,包括事务管理。Spring通过编程式和声明式两种方式来管理事务。 3. **Hibernate**:是一个ORM...
Spring的事务管理机制包括编程式事务管理和声明式事务管理,这两种方式都基于`spring-tx`模块。在这个源码中,我们可以深入理解Spring如何处理事务的生命周期、回滚规则以及与各种数据源的集成。 首先,`spring-tx`...
在Idea 14这个集成开发环境中,我们可以利用SSM的全注解方式来简化配置,提高开发效率。下面将详细阐述SSM框架、Log4j日志管理、事务控制以及MyBatis的基础Dao配置。 首先,Spring框架作为核心,负责依赖注入...
基于XML的配置在大型项目中可能变得复杂,而注解则简化了配置,更易于理解和维护。AOP切面提供了更灵活的控制,但可能对性能有一定影响。Java配置类结合了XML的灵活性和注解的简洁性。选择哪种方式取决于项目的具体...
在Spring中,可以通过以下几种方式配置事务管理: 1. **XML配置**:在Spring的配置文件中,使用`<tx:annotation-driven>`元素启用基于注解的事务管理。 2. **Java配置**:在@Configuration类中,使用@...
使用`<tx:advice>`和`<aop:config>`等标签。 - **特点**:配置更加直观,易于理解。 - **适用场景**:适合对事务有特殊需求的应用程序,例如需要在运行时动态调整事务配置。 3. **第四种方法:编程式事务管理**:...
Spring.NET 是一个基于 .NET Framework 的轻量...通过这个小示例,你将学习如何在 Spring.NET 中设置声明式事务管理,以及如何通过配置和注解控制事务的行为。这有助于创建更稳定、可扩展和易于维护的 .NET 应用程序。
Spring 事务管理也可以与AOP结合,通过`aop:config`标签定义切点和通知,来实现事务的声明式管理。这种方式更加灵活,可以实现更细粒度的事务控制。 在实际开发中,根据项目需求和团队习惯,可以选择适合的事务...
Spring4提供了两种事务管理方式:编程式事务管理和声明式事务管理。编程式事务管理需要在代码中显式地管理事务开始、提交和回滚,而声明式事务管理则通过在配置或注解中声明事务规则,更加灵活且易于维护。例如,...