我们在Spring中可以使用声明式事务
对于声明式事务,我们在程序中只要使用@Transactional标签就可以了,但是在配置文件中,我们应该怎么设置呢
事务的配置要设置三个东西,datasource, TransactionManager和代理机制
datasource就是配置像hibernate等一系列数据库配置
TransactionManager就是对应数据源的管理器,如Hibernate对应着HibernateTransactionManager
代理机制在声明式中就是可以这么一句话
<tx:annotation-driven transaction-manager="transactionManager"/>
如果没有datasource,那么就连接不上数据库
没有TransactionManager那么就不能使用事务
没有代理机制,那么事务就不会提交
因为用了事务,那么就是用了代理,Spring会用代理来调用事务类
代理是面向接口的,如果你的事务类没有继承接口的话,就可能会出java.lang.ClassCastException: $Proxy6 cannot be cast to 错,这时候就要把调用的类改成上级的接口类,而不能是实现类
分享到:
相关推荐
### Spring声明式事务管理异常处理测试与总结 #### 背景介绍 Spring框架作为Java企业级应用领域中最重要的框架之一,提供了强大的依赖注入(DI)功能和面向切面编程(AOP)支持,同时也提供了丰富的事务管理机制。...
Spring 声明式事务和 @Aspect 的拦截顺序问题的解决 Spring 框架中,声明式事务和 @Aspect 都可以用于实现Aspect-Oriented Programming(面向方面编程),但是它们的拦截顺序问题往往会导致很多问题。本文将详细...
其中,声明式事务因其简单易用而被广泛采用。本文将详细介绍Spring中事务配置的五种方式,帮助开发者更好地理解和运用这些配置方法。 #### 二、Spring事务配置的基本组成部分 Spring事务配置主要包含以下三个核心...
* 基于TransactionInterceptor的声明式事务:Spring声明式事务的基础,通常也不建议使用这种方式。 * 基于TransactionProxyFactoryBean的声明式事务:第一种方式的改进版本,简化了配置文件的书写。 * 基于和命名...
Spring框架支持多种事务管理方式,包括编程式事务管理和声明式事务管理。其中,声明式事务管理因其实现简便而被广泛采用。在Spring中,声明式事务管理可以通过基于XML的配置或者基于注解的方式实现。 事务配置的...
5. **事务管理**:Spring提供了声明式事务管理,允许开发者通过注解或者配置文件来定义事务边界,从而简化事务处理。 6. **AOP(面向切面编程)**:Spring的AOP模块允许我们在不修改原有业务代码的情况下,对程序...
9.6 使用注解配置声明式事务 9.6.1 使用@Transactional注解 9.6.2 通过AspectJ LTW引入事务切面 9.7 集成特定的应用服务器 9.7.1 BEA WebLogic 9.7.2 BEA WebLogic 9.8 小结 第10章 Spring的事务管理难点剖析 10.1 ...
6.4 声明式事务 6.4.1 定义事务参数 6.4.2 代理事务 6.4.3 在Spring 2.0里声明事务 6.4.4 定义注释驱动事务 6.5 小结 第7章 保护Spring 7.1 Spring Security介绍 7.2 验证用户身份 7.2.1 配置Provider ...
9.5.1. 理解Spring的声明式事务管理实现 9.5.2. 第一个例子 9.5.3. 回滚 9.5.4. 为不同的bean配置不同的事务语义 9.5.5. <tx:advice/> 有关的设置 9.5.6. 使用 @Transactional 9.5.6.1. @Transactional 有关的设置 ...
1.15 小结 56 第2章 高级Spring IoC容器 57 2.1 调用静态工厂方法创建Bean 57 2.1.1 问题 57 2.1.2 解决方案 57 2.1.3 工作原理 57 2.2 调用一个实例工厂方法创建Bean 58 2.2.1 问题 58 2.2.2 ...
9.5.1. 理解Spring的声明式事务管理实现 9.5.2. 第一个例子 9.5.3. 回滚 9.5.4. 为不同的bean配置不同的事务语义 9.5.5. <tx:advice/> 有关的设置 9.5.6. 使用 @Transactional 9.5.7. 插入事务操作 9.5.8. ...
6.4声明式事务 6.4.1定义事务参数 6.4.2代理事务 6.4.3在spring2.0里声明事务 6.4.4定义注释驱动事务 6.5小结 第7章保护spring 7.1springsecurity介绍 7.2验证用户身份 7.2.1配置providermanager 7.2.2...
6.4 声明式事务 6.4.1 定义事务参数 6.4.2 代理事务 6.4.3 在Spring 2.0里声明事务 6.4.4 定义注释驱动事务 6.5 小结 第7章 保护Spring 7.1 Spring Security介绍 7.2 验证用户身份 7.2.1 配置Provider ...
9.6 使用注解配置声明式事务 9.6.1 使用@Transactional注解 9.6.2 通过AspectJ LTW引入事务切面 9.7 集成特定的应用服务器 9.7.1 BEA WebLogic 9.7.2 BEA WebLogic 9.8 小结 第10章 Spring的事务管理难点剖析 10.1 ...
9.5.1. 理解Spring的声明式事务管理实现 9.5.2. 第一个例子 9.5.3. 回滚 9.5.4. 为不同的bean配置不同的事务语义 9.5.5. <tx:advice/> 有关的设置 9.5.6. 使用 @Transactional 9.5.7. 事务传播 9.5.8. 通知...
9.5.1. 理解Spring的声明式事务管理实现 9.5.2. 第一个例子 9.5.3. 回滚 9.5.4. 为不同的bean配置不同的事务语义 9.5.5. <tx:advice/> 有关的设置 9.5.6. 使用 @Transactional 9.5.7. 事务传播 9.5.8. 通知...
结合Spring,我们可以利用Spring的Hibernate支持,如声明式事务管理、DAO(数据访问对象)的抽象等,使代码更简洁、可维护性更强。Spring的AOP(面向切面编程)还可以用于日志记录、性能监控等,进一步提升应用的...
9.5.1. 理解Spring的声明式事务管理实现 9.5.2. 第一个例子 9.5.3. 回滚 9.5.4. 为不同的bean配置不同的事务语义 9.5.5. <tx:advice/> 有关的设置 9.5.6. 使用 @Transactional 9.5.7. 插入事务操作 9.5.8. ...
Spring提供了基于声明式和编程式的事务管理方式,可以根据项目需求选择合适的方案。同时,对于错误和异常,可以通过Spring的AOP(面向切面编程)进行统一处理,提高代码的可维护性和稳定性。 总的来说,Hibernate在...
1.15 小结 56 第2章 高级Spring IoC容器 57 2.1 调用静态工厂方法创建Bean 57 2.1.1 问题 57 2.1.2 解决方案 57 2.1.3 工作原理 57 2.2 调用一个实例工厂方法创建Bean 58 2.2.1 问题 58 2.2.2 ...