文档章节

spring boot 事物配置简单化

奋斗的斗斗
 奋斗的斗斗
发布于 2017/05/22 16:19
字数 393
阅读 64
收藏 0

spring boot 事物配置简单化

在没有使用spring booot之前我都是使用xml进行事物的配置,我们只需要在xml中配置好了之后在编码的过程中就不在需要关注事物的管理,很是方便。

在使用spring boot 之后,发现需要在进行事物管理的方法上添加注解@Transactional,或者懒的话直接在类上面添加该注解,使得所有的方法都进行事物的管理,很是麻烦。 就想能不能像xml中那样进行配置,一次配置,不再考虑。

经过查找发现好像并没有注解可以实现(如果你找到了,欢迎一起交流),还得在xml中进行配置,然后使用@ImportResource("classpath:transactionManager.xml")引入该xml的配置。 transactionManager.xml的内容如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
    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">
        
    <bean id="txManager"
        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource" ></property>
    </bean>
    <tx:advice id="cftxAdvice" transaction-manager="txManager">
        <tx:attributes>
            <tx:method name="query*" propagation="SUPPORTS" read-only="true" ></tx:method>
            <tx:method name="get*" propagation="SUPPORTS" read-only="true" ></tx:method>
            <tx:method name="select*" propagation="SUPPORTS" read-only="true" ></tx:method>
            <tx:method name="*" propagation="REQUIRED" rollback-for="Exception" ></tx:method>
        </tx:attributes>
    </tx:advice>
    <aop:config>
        <aop:pointcut id="cfPointCut"
            expression="execution(* com..*Controller.*(..)) 
            || execution(* com..*ServiceImp.*(..)) 
            || execution(* com..*Service.*(..)) 
            || execution(* com..*Dao.*(..))" ></aop:pointcut>
        <aop:advisor pointcut-ref="cfPointCut" advice-ref="cftxAdvice" ></aop:advisor>
    </aop:config>

</beans>

参考自 http://stackoverflow.com/questions/29333942/spring-boot-with-transactional-configuration

© 著作权归作者所有

共有 人打赏支持
上一篇: aio demo
奋斗的斗斗
粉丝 2
博文 9
码字总数 4731
作品 0
海淀
程序员
私信 提问
Spring Boot 集成Shiro和CAS

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/catoop/article/details/50534006 请大家在看本文之前,先了解如下知识点: 1、Shiro 是什么?怎么用? 2、C...

单红宇
2016/01/17
0
0
springboot情操陶冶-初识springboot

前言:springboot由于其轻便和去配置化等的特性已经被广泛应用,基于时代潮流以及不被鄙视,笔者于是开辟此篇开始认识springboot 前话 springboot是基于spring而开发的轻量级框架,所以在学习...

南柯问天
2018/07/24
0
0
springboot 中使用事务

直接在service 层的方法上加上@Transactional 注解就ok。 注意事项: 1、Spring 基于注解的声明式事物 @Transactional 默认情况下只会对运行期异常(java.lang.RuntimeException及其子类)和 ...

不开心时不要学习
2018/01/12
0
2
SpringBoot整合Mybatis+Druid

1.SpringBoot 作为一款约定大于配置的微服务框架,得到了业界的大量推广和应用。对SpringBoot的学习使用可以有效的帮助开发简化开发流程,配置过程,部署过程。 2.数据库的交互是开发过程中很...

扁桃体准备发言了
2018/08/16
0
0
Spring Boot开发之流水无情(二)

上篇散仙写了一个很简单的入门级的Spring Boot的例子,没啥技术含量,不过,其实学任何东西只要找到第一个突破口,接下来的事情就好办了,人最怕什么? 我想莫过于干一件事情,没有下手的地方...

九劫散仙
2015/04/26
0
22

没有更多内容

加载失败,请刷新页面

加载更多

告别2018

今天中午从喵喵家回来之后,倒头就睡到下午4点了。可能是之前透支的身体,在我放松下来后,开始觉得疲惫了,所以最近估计会进入嗜睡期。醒来之后,拿了包花生,开了瓶低糖菊花茶,听着网易云...

七木网络科技
13分钟前
0
0
MySql数据库分表分区实践

1. 背景 —— 公司物联网项目 海量设备通过物联网服务接入云端,设备每30s上报一次自身数据(以下称为动态数据)。 物联网服务将设备上报的数据转发给数据处理网关,由数据入库网关执行批量入...

吴伟祥
26分钟前
0
0
大表关联走hash优化

大表关联走hash? 案例: ---- 反正我执行过1个多小时,没有跑完 SELECT a.id AS order_id ,b.s_id AS bill_id, d.id AS sub_order_id, d.deal_oper_id FROM EM_ORDER PARTITION(EM_ORDER_20......

hnairdb
38分钟前
0
0
MySQL查询执行

当我们希望MySQL能够以更高的性能运行查询时,最好的办法就是弄清楚MySQL是如何优化和执行查询的。一旦理解了这一点,很多查询优化工作实际上就是遵循一些原则让优化器能够按照预想的合理方式...

问题终结者
今天
1
0
CDH5动静态资源池配置与回滚

关于动态 静态资源池的配置以前都有提过,可以从以下几篇了解: YARN动态资源池配置案例 https://yq.aliyun.com/ziliao/346856# Hadoop YARN配置参数剖析(4)—Fair Scheduler相关参数 Hadoop...

hblt-j
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部