AOP应用-事务管理

<?xml version="1.0" encoding="UTF-8"?>

<!--=====================================IOC============================================-->

<!-- 注册dataSource:myDataSource -->
<bean id="myDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
	<property name="driverClass" value="${jdbc.driver}"/>
	<property name="jdbcUrl" value="${jdbc.url}"/>
	<property name="user" value="${jdbc.user}"/>
	<property name="password" value="${jdbc.password}"/>
</bean>
<!-- 加载jdbc.properties -->
<context:property-placeholder location="classpath:jdbc.properties"/>

<!-- 注册dao:myAccountDao -->
<bean id="myAccountDao" class="com.dao.AccountDaoImpl">
	<property name="dataSource" ref="myDataSource"/>
</bean>

<!-- 注册dao:myStockDao -->
<bean id="myStockDao" class="com.dao.StockDaoImpl">
	<property name="dataSource" ref="myDataSource"/>
</bean>

<!-- 注册service:myBuyStockService -->
<bean id="myBuyStockService" class="com.service.BuyStockServiceImpl">
	<property name="adao" ref="myAccountDao"/>
	<property name="sdao" ref="myStockDao"/>
</bean>

<!--=====================================AOP============================================-->
<!-- 注册事务管理器 -->
<bean id="myTransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
	<property name="dataSource" ref="myDataSource"/>
</bean>

<!-- 生成事务代理对象 -->
<bean id="serviceProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
	<property name="transactionManager" ref="myTransactionManager"/>
	<property name="target" ref="myBuyStockService"/>
	<property name="transactionAttributes">
		<props>
			<prop key="open*">ISOLATION_DEFAULT,PROPAGATION_REQUIRED</prop>
			<!--
			-异常:表示发生指定异常后回滚,这时的异常通常是受查异常
			+异常:表示发生指定异常后提交,这时的异常通常是运行异常
			  -->
			<prop key="buyStock">ISOLATION_DEFAULT,PROPAGATION_REQUIRED, -BuyStockException</prop>
		</props>
	</property>
</bean>
发布了46 篇原创文章 · 获赞 1 · 访问量 383

猜你喜欢

转载自blog.csdn.net/weixin_43925059/article/details/105134803