Spring中使用声明式事务

1.首先,配置事务代理

 

<!-- Transaction manager for a single Hibernate SessionFactory (alternative to JTA) -->
	<bean id="hibernateTransactionManager"
		class="org.springframework.orm.hibernate3.HibernateTransactionManager"
		autowire="byName" />

	<!-- Transactional proxy for the services -->
	<bean id="baseTxProxy" lazy-init="true"
		class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
		 	<property name="transactionManager">
			<ref bean="hibernateTransactionManager" />
		</property>  
		<property name="transactionAttributes">
			<!-- 此处对需要使用事务管理的方法进行配置 -->
			<props>
				<prop key="updateFrequency">PROPAGATION_REQUIRED</prop>
				<prop key="saveStaff">PROPAGATION_REQUIRED</prop>
				<prop key="saveSchenulingDetailed">PROPAGATION_REQUIRED</prop>
				<prop key="delSchenuling">PROPAGATION_REQUIRED</prop>
			</props>
		</property>
	</bean>

 2.对需要事务管理的业务逻辑类配置事务代理

<!-- 班次管理 -->
	<bean id="frequencyDAO" class="com.order.cc.fwfm.frequency.dao.FrequencyDAO" autowire="byName"/>
	<bean id="wfmFrequencyEntity" class="com.order.cc.fwfm.frequency.entity.WfmFrequencyEntity" autowire="byName" />
    <!--需要被事务管理的类-->
    <bean id="frequencyService" class="com.order.cc.fwfm.frequency.svc.FrequencyService" autowire="byName" />
    <!--配置业务逻辑类的事务代理-->
    <bean id="frequencyServiceTrans" parent="baseTxProxy">
		<property name="target">
			<ref local="frequencyService" />
		</property>
	</bean>
    <!--让原来Action中的业务逻辑类指向事务代理类-->
	<bean name="/frequencyAction" class="com.order.cc.fwfm.frequency.action.FrequencyAction" autowire="byName" >
		<property name="frequencyService" ref="frequencyServiceTrans" />
	
	</bean>

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值