PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。
PROPAGATION_SUPPORTS--支持当前事务,如果当前没有事务,就以非事务方式执行。
PROPAGATION_MANDATORY--支持当前事务,如果当前没有事务,就抛出异常。
PROPAGATION_REQUIRES_NEW--新建事务,如果当前存在事务,把当前事务挂起。
PROPAGATION_NOT_SUPPORTED--以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
PROPAGATION_NEVER--以非事务方式执行,如果当前存在事务,则抛出异常。
PROPAGATION_NESTED--如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则进行与PROPAGATION_REQUIRED类似的操作。
|
相关推荐
### Spring中事务的传播属性详解 #### 一、引言 在使用Spring框架进行应用程序开发时,事务管理是一项非常重要的特性。Spring提供了两种事务管理方式:编程式事务管理和声明式事务管理。其中,声明式事务管理因其...
在Spring中,可以通过`@Transactional`注解的`isolation`属性来设置隔离级别。 4. **持久性(Durability)**:一旦事务提交,其对数据库的更改就应永久保存,即使系统崩溃也应能恢复。在Spring中,通过`...
在 Service 的方法上添加@Transactional 注解,即说明其为同个事务。只有在 innodb 引擎下事务才能生效。 数据库操作 使用 JPA 可以实现数据库操作。首先需要添加 pom.xml 文件中的组件,然后配置 application.yml...
- 注解驱动:使用`@Transactional`注解直接在服务层的方法上,指定事务属性,如传播行为、隔离级别、超时和是否只读。 2. **传播行为:**决定了事务如何在不同的调用之间传播。例如,`PROPAGATION_REQUIRED`是最...
其他关于通配符的说明 4.7.3. FileSystemResource 提示 5. 校验,数据绑定,BeanWrapper,与属性编辑器 5.1. 简介 5.2. 使用Spring的Validator接口进行校验 5.3. 从错误代码到错误信息 5.4. Bean处理和BeanWrapper ...
Spring Boot 常用注解汇总说明 一、启动注解 @SpringBootApplication 在Spring Boot应用中,`@SpringBootApplication`是最核心的注解,它实际上是一个复合注解,包含了`@SpringBootConfiguration`、`@...
- 在多数据源情况下,可以使用`@Transactional`注解的`propagation`属性配合不同的数据源配置来指定事务使用的数据源。 11. **Spring的事务回滚** - Spring事务管理基于事务的ACID属性,异常发生时根据回滚规则...
在类或方法上添加`@Transactional`,Spring AOP会根据注解的属性来管理事务。 **第三种方式:基于XML的声明式事务管理** 在Spring的配置文件中,使用`<tx:advice>`和`<aop:config>`元素来定义事务策略和切面。 ```...
通过在配置中启用AspectJ自动代理和事务注解支持,Spring会自动识别带有`@Transactional`的方法,并在运行时使用AspectJ织入事务处理代码。这种方式无需额外的代理配置,事务管理更加透明。 5. **使用...
3. **配置Hibernate**:在Hibernate的配置文件中,设置`hibernate.transaction.jta.platform`属性为Spring的`PlatformTransactionManager`实现,让Hibernate知道使用Spring管理事务。 4. **声明式事务管理**:在...
本文将深入探讨Spring3中的单元测试和集成测试,并结合DBunit这一数据库测试工具进行说明。 首先,单元测试是针对软件的最小可测试单元进行验证,通常是一个方法。在Spring3中,我们可以使用JUnit作为基础测试框架...
Struts2、Hibernate和Spring是Java开发中常用的三大框架,它们各自负责Web应用程序的不同层面:Struts2处理表现层逻辑,Hibernate管理数据持久化,而Spring则提供了全面的依赖注入和事务管理。本文将深入探讨这三大...
以下是对“struts2+hibernate_spring整合”的详细说明: 1. **Spring容器的初始化** 在`web.xml`中添加的监听器`ContextLoaderListener`用于启动Spring应用上下文。`contextConfigLocation`参数指定了Spring配置...
11. **设置代理类属性值**:通过Spring的代理机制,可以在运行时为代理类设置属性值,以满足特定的需求。 12. **SpringDAO层支持**:Spring提供了DAO层的支持,包括JdbcTemplate、HibernateTemplate等,帮助简化...
以下是对这个版本中的一些关键知识点的详细说明: 1. **依赖注入(Dependency Injection, DI)**:Spring的核心特性之一,它允许通过配置来管理对象的依赖关系,而不是硬编码在类内部。DI使得代码更易于测试和维护...
以下是对Spring声明式事务配置的详细说明: 1. **Spring 1.x 声明事务方式** 在Spring 1.x中,声明式事务有两种主要的配置方式,第一种是通过XML配置逐个为每个业务类创建事务代理。首先,你需要声明一个事务管理...
以下是对Spring 2.1版本中一些重要知识点的详细说明: 1. **依赖注入(Dependency Injection, DI)**:Spring的核心特性之一,它允许通过容器来管理对象的创建和依赖关系。DI使得代码更加灵活,降低了组件之间的...
虽然未详细说明Spring 5的新特性,但通常包括性能提升、对Java 8特性的支持(如日期和时间API)、WebFlux(响应式编程的支持)、改进的WebSocket支持、增强的缓存管理、以及对Cloud Native和Kubernetes更好的适应性...
新增的`@Transactional`注解的propagation属性允许你定义事务传播行为,如REQUIRED、REQUIRES_NEW等,控制事务的边界。同时,`@Query`注解使得你可以直接在Repository接口中编写自定义SQL或HQL查询,无需额外的DAO层...