ASP.NET MVC3 中整合 NHibernate3.3、Spring.NET2.0 使用AOP执行事务处理
2013-02-17 13:55
483 查看
方法一:
方法二:
方法三:
如果需要筛选方法,这样配置:
方法四:
方法五:
<object id="ServiceOperation" type="Spring.Aop.Support.SdkRegularExpressionMethodPointcut, Spring.Aop"> <property name="patterns"> <list> <value>LMJ.Service.AdminService.UpdateAdmin</value> </list> </property> </object> <tx:advice id="txAdvice" transaction-manager="HibernateTransactionManager"> <tx:attributes> <tx:method name="*" rollback-for="errorException" isolation="ReadCommitted" timeout="60"/> </tx:attributes> </tx:advice> <aop:config> <aop:advisor advice-ref="txAdvice" pointcut-ref="ServiceOperation" /> </aop:config>
方法二:
<object id="aroundAdvisor" type="Spring.Aop.Support.RegularExpressionMethodPointcutAdvisor, Spring.Aop"> <property name="advice" ref="txAdvice"/> <property name="patterns"> <list> <value>LMJ.Service.AdminService.UpdateAdmin</value> </list> </property> </object> <object id="ProxyCreator" type="Spring.Aop.Framework.AutoProxy.DefaultAdvisorAutoProxyCreator, Spring.Aop"/> <tx:advice id="txAdvice" transaction-manager="HibernateTransactionManager"> <tx:attributes> <tx:method name="*" rollback-for="errorException" isolation="ReadCommitted" timeout="60"/> </tx:attributes> </tx:advice>
方法三:
<object id="ProxyCreator" type="Spring.Aop.Framework.AutoProxy.ObjectNameAutoProxyCreator, Spring.Aop"> <property name="ObjectNames"> <list> <value>*Service</value> </list> </property> <property name="InterceptorNames"> <list> <value>txAdvice</value> </list> </property> </object> <tx:advice id="txAdvice" transaction-manager="HibernateTransactionManager"> <tx:attributes> <tx:method name="*" rollback-for="errorException" isolation="ReadCommitted" timeout="60"/> </tx:attributes> </tx:advice>
如果需要筛选方法,这样配置:
<object id="ProxyCreator" type="Spring.Aop.Framework.AutoProxy.ObjectNameAutoProxyCreator, Spring.Aop"> <property name="ObjectNames"> <list> <value>*Service</value> </list> </property> <property name="InterceptorNames"> <list> <value>aroundAdvisor</value> </list> </property> </object> <object id="aroundAdvisor" type="Spring.Aop.Support.NameMatchMethodPointcutAdvisor, Spring.Aop"> <property name="Advice" ref="txAdvice"/> <property name="MappedNames"> <list> <value>UpdateAdmin</value> </list> </property> </object> <tx:advice id="txAdvice" transaction-manager="HibernateTransactionManager"> <tx:attributes> <tx:method name="*" rollback-for="errorException" isolation="ReadCommitted" timeout="60"/> </tx:attributes> </tx:advice>
方法四:
<object type="Spring.Aop.Framework.AutoProxy.ObjectNameAutoProxyCreator,Spring.Aop"> <property name="ObjectNames"> <list> <value>*Service</value> </list> </property> <property name="InterceptorNames"> <list> <value>transactionInterceptorName</value> </list> </property> </object> <!--拦截器,定义事务策略--> <object id="transactionInterceptorName" type="Spring.Transaction.Interceptor.TransactionInterceptor,Spring.Data"> <property name="TransactionAttributes"> <name-values> <add key="UpdateAdmin" value="PROPAGATION_REQUIRED"/> </name-values> </property> <property name="TransactionManager"> <ref local="HibernateTransactionManager" /> </property> </object>
方法五:
<object type="Spring.Aop.Framework.AutoProxy.TypeNameAutoProxyCreator,Spring.Aop"> <property name="TypeNames"> <list> <value>LMJ.Service.AdminService</value> </list> </property> <property name="InterceptorNames"> <list> <value>transactionInterceptorName</value> </list> </property> </object> <object id="transactionInterceptorName" type="Spring.Transaction.Interceptor.TransactionInterceptor,Spring.Data"> <property name="TransactionAttributes"> <name-values> <add key="UpdateAdmin" value="PROPAGATION_REQUIRED"/> </name-values> </property> <property name="TransactionManager"> <ref local="HibernateTransactionManager" /> </property> </object>
相关文章推荐
- ASP.NET MVC3 中整合 NHibernate3.3、Spring.NET2.0 使用AOP执行事务处理
- ASP.NET MVC3 中整合 NHibernate3.3、Spring.NET2.0 时 Session 关闭问题
- ASP.NET MVC3 中整合 NHibernate3.3、Spring.NET2.0 时 Session 关闭问题
- ASP.NET MVC4 中整合 NHibernate3.3、Spring.NET2.0、ExtJS4 笔记一:简介
- ASP.NET MVC4 中整合 NHibernate3.3、Spring.NET2.0、ExtJS4 笔记五:ExtJS4.0整合
- ASP.NET MVC4 中整合 NHibernate3.3、Spring.NET2.0、ExtJS4 笔记三:NHibernate配置
- ASP.NET MVC4 中整合 NHibernate3.3、Spring.NET2.0、ExtJS4 笔记四:Spring.NET整合
- ASP.NET MVC4 中整合 NHibernate3.3、Spring.NET2.0、ExtJS4 笔记二:开发环境搭建
- 使用spring声明式事务,spring使用AOP来支持声明式事务,会根据事务属性,自动在方法调用之前决定是否开启一个事务,并在方法执行之后决定事务提交或回滚事务。
- SpringAOP整合Hibernate并使用事务(模拟买书的过程)
- Hibernate整合进spring---使用自己的事务处理
- Spring.Net AOP 学习之旅: 使用 Throws Advice 处理异常
- Spring整合hibernate的事务属性介绍以及声明式事务管理 (使用Annotation和xml)
- 基于Eclipse Maven的Spring4/Spring-MVC/Hibernate4整合之十:Spring mvc & hibernate 事务处理(回滚)
- spring boot使用 aop 处理方法的执行顺序
- 在asp.net mvc3中使用spring.net 1.3.1
- Spring与JDBC整合、事务处理
- Spring.NET教程(十六)——整合NHibernate(基础篇)
- Spring和Mybatis整合---注解实现AOP事务
- Spring-Boot整合mybatis(二),使用阿里的druid包,进行监控SQL执行速度