SSH中的Spring事务代理的常用的两种方法
2014-04-24 07:02
399 查看
网址:shttp://www.233.com/Java/zhuangye/20071106/102431521.html
这个配置文件是我做SSH的时候用的片断,用Spring来管理事务:
<!-- spring代理hibernate事务的两种方法 -->
<!-- 不管采用哪种方法 下面的这个bean都是必须的 -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<!-- 1、spring事务代理模板 -->
<!-- 需要事务的Service类要继承下面的bean,使用方法如下-->
<!--
<bean id="txProxyTemplate" abstract="true"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="transactionManager"/>
</property>
<property name="transactionAttributes">
<props>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="del*">PROPAGATION_REQUIRED</prop>
<prop key="change*">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
<bean id="StudentDaoHibernate"
class="com.lideedu.yame.dao.hibernate.StudentDAOHibernateImpl"
singleton="false">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
<property name="classService">
<ref bean="ClassService" />
</property>
</bean>
<bean id="StudentServiceTarget"
class="com.lideedu.yame.business.IStudentServiceImpl" singleton="false">
<property name="studentDAO">
<ref bean="StudentDaoHibernate" />
</property>
</bean>
<bean id="StudentService" parent="txProxyTemplate">
<property name="target">
<ref bean="StudentServiceTarget"/>
</property>
</bean>
-->
<!-- 2、spring事务自动代理 -->
<!-- 需要事务的方法只要方法名和下面的模式匹配就可以接受Spring的事务代理 -->
<bean id="autoProxy"
class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator">
</bean>
<bean id="transactionAttributeSource"
class="org.springframework.transaction.interceptor.NameMatchTransactionAttributeSource">
<property name="properties">
<props>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="del*">PROPAGATION_REQUIRED</prop>
<prop key="change*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<bean id="transactionInterceptor"
class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager">
<ref bean="transactionManager" />
</property>
<property name="transactionAttributeSource">
<ref bean="transactionAttributeSource" />
</property>
</bean>
<bean id="transactionAdvisor"
class="org.springframework.transaction.interceptor.TransactionAttributeSourceAdvisor">
<constructor-arg>
<ref bean="transactionInterceptor" />
</constructor-arg>
</bean> 来源:考试大-Java认证
这个配置文件是我做SSH的时候用的片断,用Spring来管理事务:
<!-- spring代理hibernate事务的两种方法 -->
<!-- 不管采用哪种方法 下面的这个bean都是必须的 -->
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<!-- 1、spring事务代理模板 -->
<!-- 需要事务的Service类要继承下面的bean,使用方法如下-->
<!--
<bean id="txProxyTemplate" abstract="true"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="transactionManager"/>
</property>
<property name="transactionAttributes">
<props>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="del*">PROPAGATION_REQUIRED</prop>
<prop key="change*">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
<bean id="StudentDaoHibernate"
class="com.lideedu.yame.dao.hibernate.StudentDAOHibernateImpl"
singleton="false">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
<property name="classService">
<ref bean="ClassService" />
</property>
</bean>
<bean id="StudentServiceTarget"
class="com.lideedu.yame.business.IStudentServiceImpl" singleton="false">
<property name="studentDAO">
<ref bean="StudentDaoHibernate" />
</property>
</bean>
<bean id="StudentService" parent="txProxyTemplate">
<property name="target">
<ref bean="StudentServiceTarget"/>
</property>
</bean>
-->
<!-- 2、spring事务自动代理 -->
<!-- 需要事务的方法只要方法名和下面的模式匹配就可以接受Spring的事务代理 -->
<bean id="autoProxy"
class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator">
</bean>
<bean id="transactionAttributeSource"
class="org.springframework.transaction.interceptor.NameMatchTransactionAttributeSource">
<property name="properties">
<props>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="del*">PROPAGATION_REQUIRED</prop>
<prop key="change*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<bean id="transactionInterceptor"
class="org.springframework.transaction.interceptor.TransactionInterceptor">
<property name="transactionManager">
<ref bean="transactionManager" />
</property>
<property name="transactionAttributeSource">
<ref bean="transactionAttributeSource" />
</property>
</bean>
<bean id="transactionAdvisor"
class="org.springframework.transaction.interceptor.TransactionAttributeSourceAdvisor">
<constructor-arg>
<ref bean="transactionInterceptor" />
</constructor-arg>
</bean> 来源:考试大-Java认证
相关文章推荐
- SSH中的Spring事务代理的常用的两种方法
- 事务有哪些特性?spring的事务管理有几种方式实现,如何实现?spring 中常用的两种事务配置方式以及事务的传播性、隔离级别
- spring 中常用的两种事务配置方式以及事务的传播性、隔离级别
- spring 中常用的两种事务配置方式以及事务的传播性、隔离级别
- spring 事务代理的方法
- spring 中常用的两种事务配置方式以及事务的传播性、隔离级别
- spring 事务代理的方法
- Spring 中常用的两种事务配置方式以及事务的传播性、隔离级别
- spring 中常用的两种事务配置方式以及事务的传播性、隔离级别
- spring 中常用的两种事务配置方式以及事务的传播性、隔离级别
- spring 中常用的两种事务配置方式以及事务的传播性、隔离级别
- spring 中常用的两种事务配置方式以及事务的传播性、隔离级别
- SSH学习---Spring中常用的hql查询方法(getHibernateTemplate())(转载)
- spring 中常用的两种事务配置方式以及事务的传播性、隔离级别
- spring事务编程的两种方法
- spring 中常用的两种事务配置方式以及事务的传播性、隔离级别
- ubuntu怎样设置代理上网?以下介绍常用的两种方法
- Spring aop事务代理对象通过TransactionInterceptor处理目标方法事务过程,cglib方式
- Spring事务——使用TransactionProxyFactoryBean创建事务代理
- DLL两种常用的创建和引用方法