Spring事务配置(收集)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Spring事务配置的五种方式Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分。DataSource、TransactionManager这两部分只是会根据数据访问方式有所变化,比如使用Hibernate进行数据访问时,DataSource实际为SessionFactory,TransactionManager的实现为HibernateTransactionManager。具体如下图:根据代理机制的不同,总结了五种Spring事务的配置方式,配置文件如下:第一种方式:每个Bean都有一个代理?xmlversion=1.0encoding=UTF-8?beansxmlns=:xsi=:context=:aop=:schemaLocation=://://://://://=sessionFactoryclass=org.springframework.orm.hibernate3.LocalSessionFactoryBeanpropertyname=configLocationvalue=classpath:hibernate.cfg.xml/propertyname=configurationClassvalue=org.hibernate.cfg.AnnotationConfiguration//bean!--定义事务管理器(声明式的事务)--beanid=transactionManagerclass=org.springframework.orm.hibernate3.HibernateTransactionManagerpropertyname=sessionFactoryref=sessionFactory//bean!--配置DAO--beanid=userDaoTargetclass=com.bluesky.spring.dao.UserDaoImplpropertyname=sessionFactoryref=sessionFactory//beanbeanid=userDaoclass=org.springframework.transaction.interceptor.TransactionProxyFactoryBean!--配置事务管理器--propertyname=transactionManagerref=transactionManager/propertyname=targetref=userDaoTarget/propertyname=proxyInterfacesvalue=com.bluesky.spring.dao.GeneratorDao/!--配置事务属性--propertyname=transactionAttributespropspropkey=*PROPAGATION_REQUIRED/prop/props/property/bean/beans第二种方式:所有Bean共享一个代理基类?xmlversion=1.0encoding=UTF-8?beansxmlns=:xsi=:context=:aop=:schemaLocation=://://://://://=sessionFactoryclass=org.springframework.orm.hibernate3.LocalSessionFactoryBeanpropertyname=configLocationvalue=classpath:hibernate.cfg.xml/propertyname=configurationClassvalue=org.hibernate.cfg.AnnotationConfiguration//bean!--定义事务管理器(声明式的事务)--beanid=transactionManagerclass=org.springframework.orm.hibernate3.HibernateTransactionManagerpropertyname=sessionFactoryref=sessionFactory//beanbeanid=transactionBaseclass=org.springframework.transaction.interceptor.TransactionProxyFactoryBeanlazy-init=trueabstract=true!--配置事务管理器--propertyname=transactionManagerref=transactionManager/!--配置事务属性--propertyname=transactionAttributespropspropkey=*PROPAGATION_REQUIRED/prop/props/property/bean!--配置DAO--beanid=userDaoTargetclass=com.bluesky.spring.dao.UserDaoImplpropertyname=sessionFactoryref=sessionFactory//beanbeanid=userDaoparent=transactionBasepropertyname=targetref=userDaoTarget//bean/beans第三种方式:使用拦截器?xmlversion=1.0encoding=UTF-8?beansxmlns=:xsi=:context=:aop=:schemaLocation=://://://://://=sessionFactoryclass=org.springframework.orm.hibernate3.LocalSessionFactoryBeanpropertyname=configLocationvalue=classpath:hibernate.cfg.xml/propertyname=configurationClassvalue=org.hibernate.cfg.AnnotationConfiguration//bean!--定义事务管理器(声明式的事务)--beanid=transactionManagerclass=org.springframework.orm.hibernate3.HibernateTransactionManagerpropertyname=sessionFactoryref=sessionFactory//beanbeanid=transactionInterceptorclass=org.springframework.transaction.interceptor.TransactionInterceptorpropertyname=transactionManagerref=transactionManager/!--配置事务属性--propertyname=transactionAttributespropspropkey=*PROPAGATION_REQUIRED/prop/props/property/beanbeanclass=org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreatorpropertyname=beanNameslistvalue*Dao/value/list/propertypropertyname=interceptorNameslistvaluetransactionInterceptor/value/list/property/bean!--配置DAO--beanid=userDaoclass=com.bluesky.spring.dao.UserD

1 / 25
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功