Spring使用通知 Advice 管理事务

Spring使用通知 Advice 管理事务

Spring 默认采用声明式事务管理(通过配置的方式) ,也可以实现 编程式事务管理
Spring 声明式 事务管理 默认 只能对 RuntimeException 进行回滚 !!!

  1. 在Spring中 配置 事务管理器

常见的事务管理器有
DataSourceTransactionManager (JDBC事务管理),
HibernateTransactionManager,
JtaTranactionManager (分布式事务管理)

<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
	<!--  将 dataSource 注入   -->
	<property name="dataSource" ref="dataSource" />
</bean>
  1. 配置 事务切面 TransactionInterceptor
<bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor">
	<!--  配置事务管理器 -->
	<property name="transactionManager" ref="transactionManager" />

	<!-- 配置事务特性 -->
	<property name="transactionAttributes">
		<props>
			<!--
				key 设置 哪一个方法 要用什么 特性
					get* : 代表 切入 以 get 开头的方法
					* : 其他方法
			-->
			<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
			<prop key="*">PROPAGATION_REQUIRED</prop>
		</props>
	</property>
</bean>
  1. 配置 BeanName自动代理
<bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
	<property name="beanNames" value="*Service" />
	<property name="interceptorNames">
		<array>
			<value>transactionInterceptor</value>
		</array>
	</property>
</bean>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值