设为首页 加入收藏

TOP

Spring中事务配置以及事务不起作用可能出现的问题(一)
2018-01-17 13:05:16 】 浏览:295
Tags:Spring 事务 配置 以及 作用 可能 出现 问题

前言:在Spring中可以通过对方法进行事务的配置,而不是像原来通过手动写代码的方式实现事务的操作,这在很大程度上减少了开发的难度,本文介绍Spring事务配置的两种方式:基于配置文件的方式和基于注解的方式。并对配置过程中可能出现的问题作出总结。


一、基于配置文件的方式,具体如下:


<context:component-scan base-package="com.learning"/>


    <!-- c3p0连接池配置--><!--注意最好是加上编码的设置,并注意在xml文件中&需要进行转义,通过&amp;进行转义-->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
          destroy-method="close"
          p:driverClass="com.mysql.jdbc.Driver"
          p:jdbcUrl="jdbc:mysql://localhost:3306/springlearning?useUnicode=true&amp;characterEncoding=UTF-8"
          p:user="root"
          p:password=""/>


    <!-- 配置jdbcTemplate模板-->
    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"
          p:dataSource-ref="dataSource"/>



    <!-- 事务配置 3步,比较固定,注意数据库的引擎,是否支持事务-->
    <!--MySql默认数据引擎为MyISAM,是不支持事务,需改成InnoDB才能进行事务的操作-->
    <!-- 1.配置事务,开启spring的事务管理-->


    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
          p:dataSource-ref="dataSource"/>
 
    <!-- 2.然后配置事务的增强-->
    <tx:advice id="txAdvice" transaction-manager="transactionManager">
        <!-- 做事务操作-->
        <tx:attributes>
            <!-- 设置进行事务操作的方法匹配规则,就是对什么方法进行事务操作,这里可以直接写方法名,也可以直接写*,表示对所有方法开启事务支持-->
            <tx:method name="*"/>
        </tx:attributes>


    </tx:advice>


    <!-- 3.然后配置切面-->
    <aop:config>


        <!-- 切入点-->                                  <!--service包下,所有类中的所有方法都设置为切入点-->
        <aop:pointcut id="servicePointcut" expression="execution(* com.learning.service..*(..))"/>


        <!-- 切面-->
        <aop:advisor advice-ref="txAdvice" pointcut-ref="servicePointcut"/>
    </aop:config>


注:配置文件中,对相应步骤都有详细说明,主要分三步:1.配置事务管理;2.配置事务增强;3.进行切面配置。


二、基于配置文件的方式


<!-- 开启注解扫描-->
    <context:component-scan base-package="com.learning"/>


    <!-- c3p0连接池配置-->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
          destroy-method="close"
          p:driverClass="com.mysql.jdbc.Driver"
          p:jdbcUrl="jdbc:mysql://localhost:3306/springlearning?useUnicode=true&a

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Spring中事务配置以及事务不起作.. 下一篇OpenCV 实现图片的水平投影与垂直..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目