- 浏览: 133175 次
- 性别:
- 来自: 广州
-
文章分类
最新评论
-
newhxj:
03-21 10:56:35.850: E/Web Conso ...
Android简易Flash播放器[转] -
roiz:
谢谢 很好正需要这资料
精确监听AbsListView滚动至底部[转]
1.TransactionProxyFactoryBean
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="configLocation" value="classpath:hibernate.cfg.xml"> </property> </bean> <bean id="TblUserDAO" class="com.angi.dao.TblUserDAO"> <property name="sessionFactory"> <ref bean="sessionFactory" /> </property> </bean> <!-- 声明一个 Hibernate 3 的 事务管理器供代理类自动管理事务用 --> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory"> <ref local="sessionFactory" /> </property> </bean> <bean id="TblUserDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <!-- 注意这个属性, 详细意义请参考Spring文档中的CGLIB部分或者本章的 10.7.2参考资料部分, 必须为 true 使用CGLIB才不用强制编写DAO接口 --> <property name="proxyTargetClass"> <value>true</value> </property> <property name="transactionManager"> <ref bean="transactionManager" /> </property> <property name="target"> <ref local="TblUserDAO" /> </property> <property name="transactionAttributes"> <props> <!-- 这里的方法签名可以精确到方法, 先懒惰一下全配置上 --> <prop key="*">PROPAGATION_REQUIRED</prop> </props> </property> </bean> </beans>
2.TransactionInterceptior
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="configLocation" value="classpath:hibernate.cfg.xml"> </property> </bean> <bean id="tblUserDAO" class="com.angi.dao.TblUserDAO"> <property name="sessionFactory"> <ref bean="sessionFactory" /> </property> </bean> <bean id="tblUserService" class="com.angi.dao.service.TblUserService"> <property name="tblUserDAO"> <ref bean="tblUserDAO" /> </property> </bean> <!-- 声明一个 Hibernate 3 的 事务管理器供代理类自动管理事务用 --> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory"> <ref local="sessionFactory" /> </property> </bean> <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"> <property name="beanNames"> <list> <value>tblUserService</value> </list> </property> <property name="interceptorNames"> <list> <value>transactionInterceptor</value> </list> </property> </bean> <bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor"> <property name="transactionManager" ref="transactionManager" /> <property name="transactionAttributes"> <props> <!-- 这里的方法签名可以精确到方法, 先懒惰一下全配置上 --> <prop key="*">PROPAGATION_REQUIRED</prop> </props> </property> </bean> </beans>
3.AOP和TX配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd "> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="configLocation" value="classpath:hibernate.cfg.xml"> </property> </bean> <bean id="tblUserDAO" class="com.angi.dao.TblUserDAO"> <property name="sessionFactory"> <ref bean="sessionFactory" /> </property> </bean> <bean id="tblUserService" class="com.angi.dao.service.TblUserService"> <property name="tblUserDAO"> <ref bean="tblUserDAO" /> </property> </bean> <!-- 声明一个 Hibernate 3 的 事务管理器供代理类自动管理事务用 --> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory"> <ref local="sessionFactory" /> </property> </bean> <!-- 需要引入aop的命名空间 --> <aop:config> <!-- 切入点指明了在执行Service的所有方法时产生事务拦截操作 --> <aop:pointcut id="daoMethods" expression="execution(* com.angi.dao.service.TblUserService.*(..))" /> <!-- 定义了将采用何种拦截操作,这里引用到 txAdvice --> <aop:advisor advice-ref="txAdvice" pointcut-ref="daoMethods" /> </aop:config> <!-- 需要引入tx的命名空间 --> <!-- 这是事务通知操作,使用的事务管理器引用自 transactionManager --> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <!-- 指定哪些方法需要加入事务,这里懒惰一下全部加入,可以使用通配符来只加入需要的方法 --> <tx:method name="*" propagation="REQUIRED" /> </tx:attributes> </tx:advice> </beans>
4.anotation
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd "> <!-- 需要引入tx的命名空间 --> <tx:annotation-driven transaction-manager="transactionManager" /> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="configLocation" value="classpath:hibernate.cfg.xml"> </property> </bean> <bean id="tblUserDAO" class="com.angi.dao.TblUserDAO"> <property name="sessionFactory"> <ref bean="sessionFactory" /> </property> </bean> <bean id="tblUserService" class="com.angi.dao.service.TblUserService"> <property name="tblUserDAO"> <ref bean="tblUserDAO" /> </property> </bean> <!-- 声明一个 Hibernate3 的事务管理器供代理类自动管理事务用 --> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory"> <ref local="sessionFactory" /> </property> </bean> </beans>
@Transactional public void doTransaction() { // step1 insert TblUser tblUser1 = new TblUser(); tblUser1.setId(24); tblUser1.setUsername("Angi12"); tblUser1.setPassword("Wang21"); tblUserDAO.save(tblUser1); // step2 update TblUser tblUser2 = tblUserDAO.findById(2); tblUser2.setPassword(tblUser2.getPassword() + "a"); tblUserDAO.update(tblUser2); // step3 insert TblUser tblUser = new TblUser(); tblUser.setId(23); tblUser.setUsername("Angi"); tblUser.setPassword("Wang"); tblUserDAO.save(tblUser); }
转至http://www.cnblogs.com/Angi/articles/2007552.html
发表评论
-
Java基于Socket文件传输示例[转]
2012-11-21 17:58 757最近需要进行网络传输大文件,于是对基于socket的文件传输作 ... -
Java基础:三步学会Java Socket编程3[转]
2012-11-21 17:17 859第三步 实现信息共享:在Socket上的实时交流 网络的 ... -
Java基础:三步学会Java Socket编程2[转]
2012-11-21 17:15 742第二步 多个客户同时连接 在实际的网络环境里,同一时间只 ... -
Java基础:三步学会Java Socket编程1[转]
2012-11-21 17:12 875第一步 充分理解Socket ... -
一步步优化JVM七:其他[转]
2012-11-10 23:37 1090边缘问题 在某 ... -
一步步优化JVM六:优化吞吐量[转]
2012-11-07 00:23 7102如果你已经进行 ... -
一步步优化JVM五:优化延迟或者响应时间(3)[转]
2012-11-07 00:20 6711CMS垃圾回收器周期 一旦young的空 ... -
一步步优化JVM五:优化延迟或者响应时间(2)[转]
2012-11-07 00:13 1616优化CMS(concurrent garbage col ... -
一步步优化JVM五:优化延迟或者响应时间(1)[转]
2012-11-06 23:35 1143本节的目标是做 ... -
一步步优化JVM四:决定Java堆的大小和内存占用[转]
2012-11-06 19:21 1215到目前为止,还没有做明确的优化工作。只是做了初始 ... -
一步步优化JVM三:GC优化基础[转]
2012-11-06 18:52 1172本节主要描述关于垃圾回收器性能的三个指标,三 ... -
一步步优化JVM二:JVM部署模型和JVM Runtime[转]
2012-11-06 18:27 1250选择JVM部署模型 JVM部署模型的选择总体来说 ... -
一步步优化JVM(一)——概述[转]
2012-11-06 18:04 1267现代JVM是一个具有灵活适应各种应用能力的软件,尽 ... -
Filter的用法[转]
2012-10-03 22:01 873filter过滤器主要使用于前台向后台传递数据是的过滤操 ... -
Spring Aop 日志管理[转]
2012-07-14 01:54 1841Spring Aop 日志管理 Sp ... -
Spring中的用于格式化的annotation[转]
2012-06-28 21:51 2035转至http://linksc.iteye.com/blog/ ... -
Hibernate的ID生成策略/联合主键解决方案[转]
2012-06-27 00:22 883转至http://blog.163.com/fengz ... -
HibernateTemplate Callback 2
2012-06-26 23:46 706package com.bee.common.hiber ... -
HibernateTemplate Callback
2012-06-26 23:45 844package com.bee.common.hiber ... -
OpenSessionInViewFilter、Session、HibernateTemplate[转]
2012-06-26 22:51 2688从书上我了解到Session接 ...
相关推荐
在`Spring_1800_Spring_Hibernate_Transaction_Annotation`这个压缩包文件中,很可能包含了使用注解方式实现Spring整合Hibernate事务处理的相关示例代码和配置文件。通过阅读和理解这些代码,你可以更好地掌握这一...
2. Hibernate事务管理:使用`HibernateTransactionManager`结合SessionFactory进行事务控制。 3. AOP(面向切面编程)在事务管理中的应用:`TransactionInterceptor`基于AOP拦截方法调用,处理事务。 4. 配置事务...
本文将深入探讨Spring与Hibernate整合时的事务管理,帮助你更好地理解和运用这些技术。 首先,Spring框架是Java企业级应用的基石,它提供了一种依赖注入(Dependency Injection,DI)的方式,使得组件之间的耦合度...
1. **Hibernate事务管理:** - Session API:Hibernate的Session对象是操作数据库的基本单元,它支持begin、commit和rollback等事务操作。 - Transaction API:Hibernate的Transaction接口提供了更高级别的事务...
在本篇“Spring Hibernate 事务管理学习笔记(二)”中,我们将深入探讨Spring框架与Hibernate集成时如何实现高效、安全的事务管理。这是一篇关于源码分析和技术工具使用的文章,适合对Java开发和数据库操作有基础...
5. **事务管理**: Spring提供了声明式事务管理,可以在配置文件中定义事务管理器,并在需要事务控制的方法上添加`@Transactional`注解。这样,Spring会自动处理事务的开始、提交或回滚。 6. **测试和运行**: 最后,...
本实例将深入探讨如何结合Spring的注解声明式事务管理与Hibernate的数据访问技术,构建一个完整的事务处理系统。 Spring框架以其灵活的依赖注入(DI)和面向切面编程(AOP)闻名,它允许开发者将事务管理从业务逻辑...
在"声明式事务控制,spring2.5+hibernate3集成源码"中,开发者可以学习如何配置Spring的事务管理器,以及如何在Hibernate的SessionFactory和SessionFactoryBuilder上使用Spring的TransactionProxyFactoryBean来创建...
Hibernate作为持久层框架,它自身也提供了事务管理,但通常在Spring环境下,我们会让Spring接管事务,以便在整个应用中保持一致的事务策略。Spring通过JDBC的DataSourceTransactionManager或Hibernate的...
本项目是关于如何使用Spring MVC与Hibernate结合来实现事务管理的实践教程,通过MyEclipse自动生成所需的包和配置文件。这里将详细讲解这一过程,以及涉及到的关键知识点。 首先,Spring MVC作为Spring框架的一部分...
3. **配置Spring**:在src/main/resources下创建applicationContext.xml文件,配置Spring的核心容器,包括Bean定义、数据源、事务管理器等。例如,使用DataSource来连接Oracle数据库,使用...
在Spring框架中集成和配置Hibernate事务管理是企业级Java应用中的常见实践,它能提供高效且灵活的事务处理策略。Spring作为一款强大的依赖注入(DI)和面向切面编程(AOP)容器,能够轻松地管理和协调不同数据访问...
Spring 是一个全面的后端应用程序框架,提供了依赖注入、面向切面编程、数据访问、事务管理等多种功能。Hibernate 则是一个强大的对象关系映射(ORM)框架,它简化了数据库操作,将 Java 对象与数据库表进行映射,...
本篇文章将重点讨论如何在Spring框架中集成Hibernate,并探讨编程式事务管理和Spring AOP的声明式事务。 首先,让我们理解Spring与Hibernate的集成。为了整合这两个库,你需要在Spring配置文件中定义Hibernate的...
本示例“第二部分spring+hibernate+jta 分布式事务Demo”将帮助我们理解如何在这三个框架之间协同工作,实现高效且可靠的事务管理。 首先,让我们深入了解一下这三个组件: 1. **Spring**:这是一个全面的Java应用...
两个项目,一个项目是基于spring jdbc实现的分布式事务,一个是基于spring hibernate的分布式事务,hibernate项目里的applicationContext2.xml是基于mysql和mssql, applicationContext3.xml基于两个mssql, ...
此外,Spring还提供了一种声明式事务管理方式,确保数据的一致性和完整性。 **Hibernate ORM** Hibernate是一个对象关系映射(ORM)框架,它简化了Java应用与数据库之间的交互。在我们的博客系统中,Hibernate负责...
Spring将事务管理分成了两类: * 编程式事务管理 * 手动编写代码进行事务管理.(很少使用) * 声明式事务管理: * 基于TransactionProxyFactoryBean的方式.(很少使用) * 需要为每个进行事务管理的类,配置一个...
整合Spring和Hibernate可以使应用程序更易于管理,因为Spring可以控制Hibernate的生命周期,并提供事务管理。 描述中提到的是一个"hello world"级别的示例,这意味着这个项目可能包含了一个基本的配置和简单的数据...