二声明式事务:
声明式事务用于管理自己写的dao,service层.一般dao不是extends或implements spring的接口或类.
如:
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean id="transactionInterceptor"
class="org.springframework.transaction.interceptor.TransactionInterceptor">
<!-- 事务拦截器bean需要依赖注入一个事务管理器 -->
<property name="transactionManager" ref="transactionManager" />
<property name="transactionAttributes">
<!-- 下面定义事务传播属性-->
<props>
<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="dealChrData">PROPAGATION_REQUIRED,ISOLATION_READ_COMMITTED</prop>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<!-- 定义BeanNameAutoProxyCreator-->
<bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<!-- 指定对满足哪些bean name的bean自动生成业务代理 -->
<property name="beanNames">
<!-- 下面是所有需要自动创建事务代理的bean-->
<list>
<value>*Service*</value>
</list>
<!-- 此处可增加其他需要自动创建事务代理的bean-->
</property>
<!-- 下面定义BeanNameAutoProxyCreator所需的事务拦截器-->
<property name="interceptorNames">
<list>
<!-- 此处可增加其他新的Interceptor -->
<value>transactionInterceptor</value>
</list>
</property>
</bean>
注意配置事务和隔离级别
分享到:
相关推荐
在深入理解`spring-cglib-repack-3.2.4.jar`和`spring-objenesis-repack-2.5.1.jar`这两个jar包之前,我们先来了解一下Spring框架的核心概念。 Spring框架的核心包括依赖注入(Dependency Injection,DI)和面向切...
本实例将深入探讨Spring事务管理的实现与应用。 首先,Spring事务管理分为编程式事务管理和声明式事务管理两种方式。编程式事务管理是通过调用TransactionTemplate或直接使用PlatformTransactionManager接口来控制...
总的来说,`spring-cglib-repack-3.2.0.jar`和`spring-objenesis-repack-2.1.jar`是Spring框架正常运行的关键组成部分,它们分别负责动态子类生成和无参构造函数对象的快速实例化,对于理解和优化Spring应用的性能有...
- `spring-tx-5.2.6.RELEASE.jar`:事务管理服务,支持编程式和声明式事务处理。 - `spring-web-5.2.6.RELEASE.jar` 和 `spring-webmvc-5.2.6.RELEASE.jar`:Web相关的模块,分别对应基础Web支持和MVC框架。 每个...
例如,Spring的事务管理、缓存管理和性能监控等功能,都可能依赖于CGlib动态代理。`repack`通常意味着这个库已经被重新打包,可能包含了特定的修改或优化,以便更好地与其他组件集成。 其次,`spring-objenesis-...
总之,这个“spring简单实例 事务回滚”案例为我们提供了一个学习Spring事务管理的好起点。通过理解如何配置事务管理器,使用`@Transactional`注解,以及异常处理机制,我们可以更好地掌握Spring如何保证数据的一致...
标题中的"spring-cglib-repack-3.2.5.jar"和"spring-objenesis-repack-2.6.jar"是Spring框架在运行时依赖的两个关键库,它们主要涉及到动态代理和对象创建的优化。 1. **CGLIB(Code Generation Library)**: ...
总之,`spring-cglib-repack-3.2.4.jar`和`spring-objenesis-repack-2.4.jar`在Spring框架中扮演着核心角色,主要负责AOP代理和复杂对象的实例化。了解这些库的作用和使用方法,有助于更好地理解和优化Spring应用。
在Spring框架的开发和调试过程中,我们经常需要深入源码以理解其工作原理或解决特定问题。然而,直接编译Spring源码时,可能会遇到依赖缺失的问题。在本案例中,"Spring源码编译缺少的两个包:spring-cglib-repack-...
在"spring-mybatis-struts2-master"项目中,可以看到Spring的配置文件(如:applicationContext.xml),其中定义了Bean的实例化规则,包括数据库连接池、SqlSessionFactory等关键组件。 二、MyBatis框架 MyBatis是...
Struts、Spring和Hibernate是Java开发中非常重要的三个框架,它们分别在MVC(Model-View-Controller)架构的不同层面发挥作用。Struts处理用户请求,Spring管理应用的业务逻辑和依赖,而Hibernate则负责数据库操作。...
标题中的"spring-cglib-repack-3.2.5.jar"和"spring-objenesis-repack-2.6.jar"是两个与Spring框架相关的库文件,它们主要用于Spring框架的内部实现,尤其是针对Java对象的创建和代理机制。下面将详细解释这两个库的...
6. **spring-test-3.2.0.RELEASE.jar**:测试模块提供了对JUnit和TestNG的支持,使得在Spring环境中进行单元测试和集成测试变得简单。它包含`@ContextConfiguration`等注解,用于加载和配置测试用例中的...
Spring事务管理就是围绕这些特性来确保数据的一致性。 四、事务的传播行为 在Spring中,我们可以配置事务的传播行为,比如REQUIRED(默认,如果当前存在事务,则加入当前事务,否则新建一个事务)、PROPAGATION_...
在1.0-m2中,IoC容器通过XML配置文件来定义对象的实例化和它们之间的依赖关系,这使得程序的耦合度降低,更易于测试和维护。例如,开发者可以定义bean的定义,包括类名、属性以及依赖的其他bean,然后由Spring容器...
2. SqlSessionDaoSupport:这是一个抽象类,为DAO提供了一个SqlSessionTemplate实例,继承自它,只需专注于业务逻辑,无需关心事务和SqlSession管理。只需重写getSqlSessionTemplate()方法即可。 3. ...
本文将深入探讨基于Spring Cloud Eureka、Feign、MyBatis和Seata的分布式事务解决方案,帮助开发者理解如何在微服务架构中实现高效、可靠的事务管理。 首先,Spring Cloud Eureka是Netflix公司提供的一个服务注册与...
2. **整合Hibernate**: Spring通过提供`LocalSessionFactoryBean`类,使得与Hibernate的集成变得简单。`LocalSessionFactoryBean`是一个Spring的bean,负责配置和初始化Hibernate的`SessionFactory`。开发者可以通过...
总结一下,`Spring Hibernate事务实例`涵盖了以下核心知识点: 1. Spring框架的声明式事务管理:通过`TransactionInterceptor`和`@Transactional`注解实现。 2. Hibernate事务管理:使用`...
2. **CGLIB(Code Generation Library)**: `spring-cglib-repack-3.1.jar` 是CGLIB库的一个打包版本,它是一个强大的代码生成库,可以在运行时动态生成新的Java类和实现。在Spring AOP中,CGLIB被用来为没有接口的...