<?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>