`
zhouchaofei2010
  • 浏览: 1102973 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

spring注解使用的默认事物管理器

 
阅读更多

https://stackoverflow.com/questions/27239007/which-is-the-default-transaction-manager-the-transactional-uses

 

 

spring  默认事物管理器

 

未有答案和文档资料说明。。

 

<tx:annotation-driven transaction-manager="transactionManager2"/>  

  <tx:annotation-driven transaction-manager="transactionManager"/> 

事物代码测试和代码调试发现

只有第一个配置有效

 

代码调试:

spring-tx-3.2.1.RELEASE.jar

package org.springframework.transaction.config

AnnotationDrivenBeanDefinitionParser

入口:77行 parse 方法

打断点会调试会进入2次,

 

第一次element的是transactionManager2

然后会调用AopAutoProxyConfigurer.configureAutoProxyCreator(element, parserContext);

!parserContext.getRegistry().containsBeanDefinition(txAdvisorBeanName) 为true

 

调用registerTransactionManager(element, interceptorDef);  注册为transactionManager2

 

第二次element的是transactionManager,但是       !parserContext.getRegistry().containsBeanDefinition(txAdvisorBeanName) 为false

直接跳出if代码块了

 

总结:配置多个tx:annotation-driven,只有第一个有效

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    spring 注解事务管理

    以下是对"spring注解事务管理"这一主题的详细解释。 ### 1. Spring事务管理的基本概念 Spring事务管理主要分为两种方式:编程式事务管理和声明式事务管理。编程式事务管理是通过编写代码来控制事务的开始、提交、...

    spring 事务基于注解模式

    Spring提供了多种事务管理方式,其中基于注解的事务管理是近年来常用的模式,因为它简化了代码并提高了可读性。本文将深入探讨Spring中的基于注解的事务管理及其工作原理。 ### 1. Spring事务管理概述 Spring事务...

    spring注解事务实现demo

    注解中可以包含多个属性,如`value`(指定事务管理器)、`propagation`(事务传播行为)、`isolation`(事务隔离级别)、`readOnly`(是否只读事务)等,以定制事务的行为。 3. **事务传播行为** 事务传播行为定义...

    Spring 注解 小例子

    在实际项目中,常常会结合使用多种注解来实现复杂的功能,例如结合`@Transactional`进行事务管理,或者使用`@Profile`在不同环境下加载不同的bean。Spring注解的强大之处在于它们的灵活性和组合能力,使得开发者能够...

    Spring事务管理Demo

    2. **声明式事务管理**:这是Spring最常用的方式,通过在配置文件或者使用`@Transactional`注解来定义事务边界,使得事务管理与业务逻辑分离,降低了代码的耦合度。`@Transactional`注解可以应用于方法级别,表示该...

    Spring+Hibernate注解事务实例

    - 首先,我们需要在Spring配置文件中启用事务管理器,通常是`HibernateTransactionManager`,并配置数据源。 - 然后,启用AOP代理,以便Spring可以在适当的时候处理事务。 2. **配置Hibernate**: - 创建...

    使用Spring的声明式事务----Annotation注解方式

    在Spring框架中,声明式事务管理是其核心特性之一,它允许开发者无需手动处理事务的开始、提交、回滚等操作,而是通过配置或者注解的方式进行声明,从而简化了事务管理的复杂性。本篇文章将深入探讨如何使用Spring的...

    SpringJDBC注解事务.zip

    本篇文章将深入探讨Spring JDBC如何通过注解来实现事务管理。 1. **Spring JDBC简介** Spring JDBC提供了一个JdbcTemplate类,它封装了常见的JDBC操作,如执行SQL查询、更新、调用存储过程等,减少了代码量和出错...

    spring的annotation-driven配置事务管理器详解 (多数据源配置

    在测试中,我们可以看到,使用 `@Transactional("transactionManagerX")` 注解可以正确地指定事务管理器,而使用 `@Transactional` 注解不带参数时,默认会使用容器中缺省的事务管理器。如果我们在 `@Transactional`...

    spring mvc+hibernate 实现事务管理(全注解版)

    2. **Hibernate事务**: Hibernate本身也提供了一种事务管理机制,但在Spring环境中,我们通常使用Spring的事务管理器来协调。当@Transactional注解应用于方法上,Spring会在该方法执行前后自动管理事务的开始和结束...

    spring.net 声明式事物管理小示例

    在这个声明式事务管理的小示例中,我们将探讨如何使用 Spring.NET 来实现事务的自动化处理。 1. **什么是声明式事务管理?** 声明式事务管理允许开发者通过配置或注解来定义事务的边界,而不是在代码中显式地调用 ...

    spring注解式事务

    "spring注解式事务" Spring框架提供了基于注解的方式来管理事务,使用@Transactional注解来标记需要事务管理的方法。该注解可以被应用于public方法上,对于非public方法,如果标记了@Transactional也不会报错,但...

    Spring 使用注解方式进行事务管理配置方式

    以下是对Spring使用注解进行事务管理配置的详细说明: 1. **引入命名空间**: 在Spring配置文件中,首先需要引入`&lt;tx&gt;`命名空间,这允许你在配置中使用事务相关的注解。例如: ```xml &lt;beans xmlns="http://www....

    spring基于注解实现事务

    - 事务管理需要在Spring配置中启用,例如在xml配置中添加 `&lt;tx:annotation-driven transaction-manager="transactionManager"/&gt;` 或者在Java配置中使用 `@EnableTransactionManagement` 注解。 了解了这些知识点后...

    基于Struts2+hibernate+spring 注解开发的学生信息管理系统

    同时,Spring AOP可以使用注解来创建切面,实现如事务管理等功能。在本系统中,可能有`StudentService`接口和其实现类,使用`@Service`注解标记,Spring会自动管理这些服务,并通过@Autowired自动注入所需的DAO层...

    Spring3事务管理——使用@Transactional 注解.rar

    - `@Transactional`注解仅在Spring AOP代理能够拦截到的方法上生效,因此,如果在非Spring管理的类或静态方法中使用,事务管理将不起作用。 - 如果事务属性设置不当,可能会导致数据不一致或并发问题,应谨慎调整...

    spring3.0两种事务管理配置

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

    全面分析 Spring 的编程式事务管理及声明式事务管理

    2. **基于注解的声明式事务管理**: 使用@Transactional注解在方法上,Spring会自动管理事务的生命周期。这个注解可以设置事务属性,如isolation(隔离级别)、propagation(传播行为)、timeout(超时时间)等。 **...

    Spring 注解学习手札(五) 业务层事务处理

    这篇“Spring注解学习手札(五)——业务层事务处理”深入探讨了如何使用注解来管理应用程序中的事务,确保数据的一致性和完整性。Spring提供了声明式事务管理,使得开发者无需编写繁琐的事务控制代码,只需在方法上...

    spring事务操作试验

    "spring事务操作主要对象.png"可能展示了Spring事务管理的关键组件,如TransactionDefinition(定义事务属性)、PlatformTransactionManager(事务管理器接口)、TransactionStatus(事务状态对象)等。这些对象协同...

Global site tag (gtag.js) - Google Analytics