一、Propagation:
- REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。
- SUPPORTS--支持当前事务,如果当前没有事务,就以非事务方式执行。
- MANDATORY--支持当前事务,如果当前没有事务,就抛出异常。
- REQUIRES_NEW--新建事务,如果当前存在事务,把当前事务挂起。
- NOT_SUPPORTED--以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
- NEVER--以非事务方式执行,如果当前存在事务,则抛出异常。
- NESTED--Spring所提供的一个特殊变量。它要求事务管理器或者使用JDBC 3.0 Savepoint API提供
嵌套事务行为(如Spring的DataSourceTransactionManager),或者通过JTA支持嵌套事务。
二、Isolation Level(事务隔离等级):
1、Serializable: 最严格的级别,事务串行执行,资源消耗最大。
2、REPEATABLE READ:保证了一个事务不会修改已经由另一个事务读取但未提交(回滚)的数据。
避免了“脏读取”和“不可重复读取”的情况,但是带来了更多的性能损失。
3、READ COMMITTED: 大多数主流数据库的默认事务等级,保证了一个事务不会读到
另一个并行事务已修改但未提交的数据,避免了“脏读取”。该级别适用于大多数系统。
4、Read Uncommitted:保证了读取过程中不会读取到非法数据。
spring中的isolation属性:
1、ISOLATION_SERIALIZABLE: 脏读,不可重复读,虚读都被阻止。
2、ISOLATION_REPEATABLE_READ: 脏读,不可重复读被阻止; 虚读可能发生。
3、ISOLATION_READ_COMMITTE: 脏读被阻止;不可重复读,虚读可能发生。
4、ISOLATION_READ_UNCOMMITTED: 脏读,不可重复读,虚读都可能发生。
5、ISOLATION_DEFAULT: 使用当前数据源的默认级别。
三、ReadOnly
事务属性中的READONLY标志表示对应的事务应该被最优化为只读事务。
四、Timeout
指定事务超时时间,单位秒。
- REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。
- SUPPORTS--支持当前事务,如果当前没有事务,就以非事务方式执行。
- MANDATORY--支持当前事务,如果当前没有事务,就抛出异常。
- REQUIRES_NEW--新建事务,如果当前存在事务,把当前事务挂起。
- NOT_SUPPORTED--以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
- NEVER--以非事务方式执行,如果当前存在事务,则抛出异常。
- NESTED--Spring所提供的一个特殊变量。它要求事务管理器或者使用JDBC 3.0 Savepoint API提供
嵌套事务行为(如Spring的DataSourceTransactionManager),或者通过JTA支持嵌套事务。
二、Isolation Level(事务隔离等级):
1、Serializable: 最严格的级别,事务串行执行,资源消耗最大。
2、REPEATABLE READ:保证了一个事务不会修改已经由另一个事务读取但未提交(回滚)的数据。
避免了“脏读取”和“不可重复读取”的情况,但是带来了更多的性能损失。
3、READ COMMITTED: 大多数主流数据库的默认事务等级,保证了一个事务不会读到
另一个并行事务已修改但未提交的数据,避免了“脏读取”。该级别适用于大多数系统。
4、Read Uncommitted:保证了读取过程中不会读取到非法数据。
spring中的isolation属性:
1、ISOLATION_SERIALIZABLE: 脏读,不可重复读,虚读都被阻止。
2、ISOLATION_REPEATABLE_READ: 脏读,不可重复读被阻止; 虚读可能发生。
3、ISOLATION_READ_COMMITTE: 脏读被阻止;不可重复读,虚读可能发生。
4、ISOLATION_READ_UNCOMMITTED: 脏读,不可重复读,虚读都可能发生。
5、ISOLATION_DEFAULT: 使用当前数据源的默认级别。
三、ReadOnly
事务属性中的READONLY标志表示对应的事务应该被最优化为只读事务。
四、Timeout
指定事务超时时间,单位秒。
http://blog.csdn.net/raymondual/article/details/17416569
相关推荐
描述部分进一步说明了事务失效的后果往往不明显,容易在测试环节被忽略,但在生产环境中出现问题,暴露了开发者对Spring事务机制不足够了解的问题。标签“Spring 事务 失效”直接概括了本文的知识点范围,即Spring...
以下是关于Spring声明式事务配置管理的详细说明: 1. **事务管理器配置**: 在`/WEB-INF/applicationContext.xml`文件中,我们需要定义一个事务管理器Bean。通常,对于Hibernate,我们会使用`...
7. **AOP事务配置**:接下来,我们需要在Spring中配置AOP事务规则,定义哪些方法需要在事务中执行。通常使用`@Transactional`注解,但要在配置文件中开启注解驱动的事务管理。 ```xml ``` 8. **使用示例**:在...
### Struts+Spring+Hibernate配置说明 #### 一、引言 在现代企业级应用开发中,Struts、Spring 和 Hibernate 是三个非常重要的框架。它们分别用于构建MVC(Model-View-Controller)架构的视图层、控制层以及持久化...
Mybatis-Spring提供了对Spring事务管理的支持,允许开发者使用Spring的声明式事务管理,确保数据操作的一致性和完整性。 ### 章节五:使用一个 SqlSession 对象 这部分可能会介绍如何在Spring环境中使用SqlSession...
- **技巧说明**:在构造函数参数配置中使用索引和类型信息,可以帮助更好地组织和理解配置文件。例如,使用`index`属性来指定构造函数参数的位置,或者使用`type`属性来指定参数的类型。 - **示例代码**: ```...
3. **事务配置示例说明** - **context命名空间**:使用`<context:component-scan>`标签来指定组件扫描的包路径,而`<context:property-placeholder>`用来加载配置文件。 - **DataSource配置**:为每个数据源定义了...
一、 Spring事务配置及相关说明 Spring事务配置是通过使用@Transactional注解来实现的,这个注解可以作用于类或者方法上,当作用于类上时,所有的方法都会继承该注解的配置。当作用于方法上时,只有该方法会继承该...
2.4.1. 在XML里更为简单的声明性事务配置 2.4.2. JPA 2.4.3. 异步的JMS 2.4.4. JDBC 2.5. Web层 2.5.1. Spring MVC的表单标签库 2.5.2. Spring MVC合理的默认值 2.5.3. Portlet 框架 2.6. 其他特性 2.6.1. 动态语言...
- Spring WebApplicationContext扩展了普通的ApplicationContext,为Web应用提供了特定的功能,如处理请求参数、session和ServletContext访问等。 这个`Spring2.5中文手册`包含了上述所有概念的详细解释和示例,...
2. 在WebWork的配置文件中,配置Spring的ActionServlet,使WebWork能够通过Spring获取Action实例。 3. 创建WebWork动作类,并使用Spring的@Autowired注解来注入所需的依赖。 4. 设置必要的拦截器,以确保Spring的...
Spring通过`applicationContext.xml`配置文件来配置应用上下文,这里可以定义Bean、事务管理、连接池等。Spring还提供了与iBatis的集成,使得事务管理和DAO层的数据库操作得以统一管理。 Struts2是MVC模式的具体...
根据提供的文件信息,以下是对Spring官方文档pdf的知识点详细说明: Spring框架是Java平台上一个开源的、全面的、企业级应用开发框架。Spring的版本3.*是一个非常重要的版本,因为它提供了许多改进和新特性。Spring...
在其中,你可以找到关于ApplicationContext、BeanFactory、AOP代理、IoC容器、数据访问组件(如JDBC、Hibernate、JPA支持)以及Spring的MVC框架等关键组件的详细说明。 - API文档是开发过程中必不可少的工具,它列...
4. **结果映射和参数映射**:探讨如何通过配置实现对象与数据库结果集之间的映射,以及参数的传递方式。 5. **Mybatis的缓存机制**:分析Mybatis的一级和二级缓存,以及如何自定义缓存策略。 6. **Mybatis与Spring的...
- 配置文件:如application.yml,用于配置Spring Cloud和LCN的相关参数。 - 数据库脚本:用于初始化数据库,创建必要的表和数据。 - 文档:详细说明如何集成和使用LCN,以及解决可能出现的问题。 - 示例应用的启动...
2. **Spring 配置**:在applicationContext.xml文件中配置Bean,包括Action类、DAO接口及其实现、事务管理器等。 3. **iBatis 配置**:在SqlMapConfig.xml文件中配置数据源、事务管理器,以及各个Mapper接口对应的...
4. **事务管理**:MyBatis-Spring 支持 Spring 的声明式事务管理,可以在 Spring 的事务配置中控制 MyBatis 的事务边界。 5. **ExecutorType 支持**:允许你在 Spring 中配置 MyBatis 的执行器类型,如 SIMPLE、...
2.4.1. 在XML里更为简单的声明性事务配置 2.4.2. JPA 2.4.3. 异步的JMS 2.4.4. JDBC 2.5. Web层 2.5.1. Spring MVC的表单标签库 2.5.2. Spring MVC合理的默认值 2.5.3. Portlet 框架 2.6. 其他特性 2.6.1. ...