知识大全 Spring配置事务在DAO层和业务逻辑层
Posted 知
篇首语:正确的道路是这样:吸取你的前辈所做的一切,然后再往前走。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Spring配置事务在DAO层和业务逻辑层相关的知识,希望对你有一定的参考价值。
Spring配置事务在DAO层和业务逻辑层 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Spring通过AOP实现声明式事务管理 通常通过TransactionProxyFactoryBean设置Spring事务代理 我们需要一个目标对象包装在事务代理中 这个目标对象一般是一个普通Java对象的bean 当我们定义TransactionProxyFactoryBean时 必须提供一个相关的 PlatformTransactionManager的引用和事务属性 事务属性含有上面描述的事务定义 PlatformTransactionManager HibernateTransactionManager需要一个SessionFactory的引用 JtaTransactionManager 一.把事务放置在了DAO层 <!—hibernateTransactionManager ><bean id= transactionManager class= springframework orm hibernate HibernateTransactionManager > <property name= sessionFactory > <ref local= sessionFactory /> </property></bean><!—DAO层接口实现 ><bean id= panyDAOTarget class= vstsoft querypany dao impl CompanyDAOImpl > <property name= sessionFactory > <ref local= sessionFactory /> </property></bean><!—spring对DAO层的事务代理 ><bean id= panyDAOProxy class= springframework transaction interceptor TransactionProxyFactoryBean > <property name= transactionManager > <ref bean= transactionManager /> </property> <property name= target > <ref local= panyDAOTarget /> </property> <property name= transactionAttributes > <props> <prop key= insert* >PROPAGATION_REQUIRED</prop> <prop key= delete* >PROPAGATION_REQUIRED</prop> <prop key= find* > PROPAGATION_REQUIRED readOnly </prop> </props> </property></bean><!—业务层接口实现 把DAO注入到Service里面 ><bean name= panyManageTarget class= vstsoft querypany service impl CompanyManageTarget > <property name= panyDAO > <ref bean= panyDAOProxy /> </property></bean><!—spring对Service层的代理 ><bean id= panyManageProxy class= springframework aop framework ProxyFactoryBean > <property name= proxyInterfaces > <value> vstsoft querypany service CompanyManage</value> </property> <property name= target > <ref bean= panyManageTarget /> </property></bean><!—配置struts访问 把service层注入到action里面 ><bean name= /pany class= vstsoft querypany web action CompanyAction singleton= false > <property name= panyManage > <ref local= panyManageProxy /> </property></bean>二.把事务放置在了Service层 <!—jtaTransactionManager ><bean id= jtaTransactionManager class= springframework transaction jta JtaTransactionManager /><!—DAO层接口实现 ><bean id= panyDAOTarget class= vstsoft querypany dao impl CompanyDAOImpl > <property name= sessionFactory > <ref local= sessionFactory /> </property></bean><!—spring对DAO层的代理 ><bean id= panyDAOProxy class= springframework aop framework ProxyFactoryBean > <property name= proxyInterfaces > <value> vstsoft querypany dao CompanyDAO</value> </property> <property name= target > <ref bean= panyDAOTarget /> </property></bean><!—业务层接口实现 把DAO注入到Service里面 ><bean name= panyManageTarget class= vstsoft querypany service impl CompanyManageTarget > <property name= panyDAO > <ref bean= panyDAOProxy /> </property></bean><!—spring代理业务层的事务管理 ><bean id= panyManageProxy class= springframework transaction interceptor TransactionProxyFactoryBean > <property name= transactionManager > <ref local= jtaTransactionManager /> </property> <property name= transactionAttributes > <props> <prop key= set* >PROPAGATION_REQUIRED</prop> <prop key= find* >PROPAGATION_REQUIRED readOnly</prop> </props> </property> <property name= target > <ref bean= panyManageTarget /> </property></bean><!—配置struts访问 把service层注入到action里面 ><bean name= /pany class= vstsoft querypany web action CompanyAction singleton= false > <property name= panyManage > <ref local= panyManageProxy /> </property></bean> 在service层的接口实现CompanyManageImpl里面有个setData方法 按顺序执行数据查询 数据删除 数据插入数据库行为 如果哪一步出异常(运行时异常) 事务回滚 只有所有行为都没成功 事务提交 cha138/Article/program/Java/ky/201311/28057相关参考
在Spring中配置Hibernate的事务 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 本文
<!构建HibernateTransactionManager用于获得session管理事务> <beanid=transactionManagerclass=springfr
对Spring事务配置方式的深入研究 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 前段时间对S
Spring事务配置的五种方式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 前段时间对Spri
Spring中的四种声明式事务的配置 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Spring
以前项目中经常用spring事务处理还没有亲自配置过惭愧现在马上上路. 首先在spring容器中配置transactionManager这个有好多实现这里以HibernateTransactio
SpringDAO之JDBC 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! SpringDAO之
五dal层数据访问实现 在这里我们使用前一篇文章里实现的数据持久化层和伪SqlMapper对象实现数据操作下面我们来看看Dal下核心的Dao如何实现 &nb
引言 前提项目组里无用到SPRING进行事务的管理项目里以功能划分到每个人手里 形成了BODAOACTIONVIEW都是单人负责在DAO中每个动作都以 封闭式的形式存在 问
Spring声明式事务管理源码解读之事务开始 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在s