博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring的事务配置方法
阅读量:6413 次
发布时间:2019-06-23

本文共 1714 字,大约阅读时间需要 5 分钟。

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

 

转载于:https://www.cnblogs.com/shuai-server/p/8886820.html

你可能感兴趣的文章
在Winform程序中设置管理员权限及为用户组添加写入权限
查看>>
RTMP直播到FMS中的AAC音频直播
查看>>
多能互补提速 加快我国能源转型和现代能源体系建设
查看>>
《JavaScript设计模式》——2.5 多种调用方式——多态
查看>>
Redis开发运维实践高可用和集群架构与实践(二)
查看>>
程序员的常见“谎话”:对,这是一个已知 Bug
查看>>
如何侦查SQL执行状态
查看>>
CentOS 7 命令行如何连接无线网络
查看>>
Ubuntu 12.04上享用新版本Linux的功能
查看>>
logstash + grok 正则语法
查看>>
Zimbra开源版(v8.6)安装说明
查看>>
Android性能优化之TraceView和Lint使用详解
查看>>
linux centos7.2 安装mysq,nginx,php
查看>>
intellij IDEA配置tomcat
查看>>
myrocks之事务处理
查看>>
mysql分区
查看>>
基于pgrouting的路径规划之一
查看>>
LBS核心技术解析
查看>>
Fible Channel over Convergence Enhanced Ethernet talk about
查看>>
讨论:今日头条适配方案使用中出现的问题
查看>>