Spring声明式事务XML方式以及注解式事务

对于转账环境请看前篇https://mp.csdn.net/postedit/87891375

新的xml:

<bean id="accountService" class="tx.AccountServiceImplement">
        <property name="accountDao" ref="accountDao"/>
    </bean>
    <!--Dao-->
    <bean id="accountDao" class="tx.AccountDaoImplement">
        <property name="dataSource" ref="dataSource"/>
    </bean>

    <context:property-placeholder location="classpath:jdbc.properties"></context:property-placeholder>
    <!--配置c3p0连接池-->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="driverClass"/>
        <property name="jdbcUrl" value="${jdbcUrl}"/>
        <property name="user" value="${user}"/>
        <property name="password" value="${password}"/>
    </bean>

    <!--配置平台事务管理=======-->
    <bean id="transactionMsnger" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"/>
    </bean>
    <tx:advice id="txAdvice" transaction-manager="transactionMsnger">
        <tx:attributes>
            <tx:method name="transfer" propagation="REQUIRED"/>
        </tx:attributes>
    </tx:advice>

    <aop:config>
        <aop:pointcut expression="execution(* tx.AccountServiceImplement.*(..))" id="pointcut" />
        <aop:advisor advice-ref="txAdvice" pointcut-ref="pointcut"/>
    </aop:config>

注解式:

bean id="transactionMsnger" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"/>
    </bean>

    <tx:annotation-driven transaction-manager="transactionMsnger"></tx:annotation-driven>
服务层
@Transactional
public class AccountServiceImplement implements AccountService {

猜你喜欢

转载自blog.csdn.net/dagedeshu/article/details/87892942