拦截的方式

来源:7-1 课程总结

慕哥5346237

2019-04-20 00:15

我们公司使用的是拦截的方式。但是没见老师讲这一种。心里好没底儿啊!这种拦截的方式是否也是常用的。https://img3.mukewang.com/5cb9f3580001ccd208580560.jpg

写回答 关注

1回答

  • 逗逗1830109
    2019-06-18 22:14:14

    基于TransactionProxyFactoryBean的方式(实际开发种不经常使用)

    老师讲过了。。。。。。。。


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

    <beans xmlns="http://www.springframework.org/schema/beans"

           xmlns:tx="http://www.springframework.org/schema/tx"

           xmlns:aop="http://www.springframework.org/schema/aop"

           xmlns:context="http://www.springframework.org/schema/context"

           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

           xsi:schemaLocation="

           http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd

            http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd

            http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd

            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd

    ">

        <!--配置数据源c3p0-->

        <bean class="com.mchange.v2.c3p0.ComboPooledDataSource" id="dataSource">

            <property name="driverClass" value="com.mysql.jdbc.Driver"/>

            <property name="jdbcUrl" value="jdbc:mysql://127.0.0.1:3306/test"/>

            <property name="user" value="root"/>

            <property name="password" value="root"/>

        </bean>


        <!--配置业务层实现类-->

        <bean class="spring.demo2.AccountServiceImpl" id="accountService">

            <property name="accountDao" ref="accountDao"/>

        </bean>


        <!--配置DAO类-->

        <bean class="spring.demo2.AccountDaoImpl" id="accountDao">

            <property name="dataSource" ref="dataSource"/>

        </bean>


        <!--配置事务管理器-->

        <bean class="org.springframework.jdbc.datasource.DataSourceTransactionManager" id="transactionManager">

            <property name="dataSource" ref="dataSource"/>

        </bean>


        <!--配置业务层的代理-->

        <bean class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"

              id="transactionProxyFactoryBean">

            <!--目标对象-->

            <property name="target" ref="accountService"/>

            <!--注入事务管理器-->

            <property name="transactionManager" ref="transactionManager"/>

            <!--注入属性-->

            <property name="transactionAttributes">

                <props>

                    <!--

                    prop的格式:

                    PROPAGATION:事务传播行为

                    ISOLATIN:事务的隔离行为

                    readOnly:只读

                    -Exception:发生哪些异常回滚事务

                    +Exception:发生哪些异常事务不回滚

                    -->

                    <!--*代表类中的所有方法-->

                    <prop key="*">PROPAGATION_REQUIRED</prop>

                </props>

            </property>


        </bean>


    </beans>





Spring事务管理

事务管理是Spring重要的知识,应用事务解决数据不一致问题

87318 学习 · 197 问题

查看课程

相似问题