spring事务的配置有两种方式

1.xml配置的声明式事务配置

(1)配置数据源信息dataSource(使用阿里的数据源)

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
  destroy-method="close">
  <property name="url" value="${jdbc.url}" />
  <property name="username" value="${jdbc.username}" />
  <property name="password" value="${jdbc.password}" />
  <property name="driverClassName" value="${jdbc.driver}" />
  <property name="maxActive" value="10" />
  <property name="minIdle" value="5" />
</bean>

(2)注册事务管理器(使用的是DataSourceTransactionManager事务管理器)

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

(3)通过代理方式配置事务通知,配置事务的切入点,将切入点作用到目标对象中(组装切面)

(3.1)配置事务通知

<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<!-- 配置事务的传播属性 -->
<tx:method name="save*" propagation="REQUIRED" />
<tx:method name="insert*" propagation="REQUIRED" />
<tx:method name="add*" propagation="REQUIRED" />
<tx:method name="create*" propagation="REQUIRED" />
<tx:method name="delete*" propagation="REQUIRED" />
<tx:method name="update*" propagation="REQUIRED" />
<tx:method name="find*" propagation="SUPPORTS" read-only="true" />
<tx:method name="select*" propagation="SUPPORTS" read-only="true" />
<tx:method name="get*" propagation="SUPPORTS" read-only="true" />
</tx:attributes>
</tx:advice>

(3.2)组装切点表达式

<!-- 组装切面 -->
<aop:config>
<!-- 配置切点表达式 ,对service包下面的所有方法都启用事务-->
<aop:pointcut expression="execution(* nyist.e3.service..*.*(..))"
id="pc" />
<!-- 将事务的传播属性作用到切点函数中 (组装切面)-->
<aop:advisor advice-ref="txAdvice" pointcut-ref="pc" />
</aop:config>

2.基于注解方式的事务配置

只需要在spring中开启事务配置的注解即可

<!-- 开启事务注解 -->
<mvc:annotation-driven />

最新文章

  1. 网页中插入视频(object)
  2. 培训第五天---JS
  3. Line segment matching
  4. 在IOS输入框中 键盘上显示“搜索”
  5. 老工程升级到VS2010或以上时会出现 libc.lib 解决方法
  6. A - 畅通工程
  7. C++学习笔记(十四):模板
  8. Win32中常用消息
  9. C++ STL常用容器基本用法汇总
  10. 阿里云大数据计算服务 - MaxCompute (原名 ODPS)
  11. 前端加密传输 crypto-js AES 加密和解密
  12. MySQL中间件之ProxySQL(10):读写分离方法论
  13. SIP 编解码器
  14. 撩课-Java每天5道面试题第19天
  15. Django 数据传递
  16. vim编辑器基本操作及文件权限,sudo命令等介绍
  17. centos7.2 安装 Elasticsearch5.2
  18. (4.9)SQL Server 数据库规范
  19. 【题解】POI2014FAR-FarmCraft
  20. 关于eclipse连接mysql jar包

热门文章

  1. MFC基础
  2. Python基础数据类型之字典
  3. Python/ MySQL练习题(一)
  4. hdu2050 折线分割平面---递推
  5. RTKLIB源码解析(一)——单点定位(pntpos.c)
  6. Python selenium 三种等待方式详解
  7. java创建线程的三种方法
  8. 洛谷 P2590 [ZJOI2008]树的统计(树链剖分)
  9. C#之Winform跨线程访问控件
  10. servlet学习总结