前言:

因为SpringBoot操作两者实在太简单了,我就放一起来写了。

正文(事务):

 /**
* springboot中运用事务
* 真的超级方便,直接加上注解就ok了,连配置都省了
* @return
*/
@Transactional
public int insertDemo() { int flag = td.insertDemo("bo", "123456");
flag = td.insertDemo("bo", "123456");
return flag;
}

一切尽在不言中。xml文件不用配置,pom文件不用配置,啥都不用配置。直接加上@Transactional注解,超级方便。至于事务的传播行为,隔离级别我这里就不说了,可以看看我的其他文章。

正文(AOP):

Spring两大特性IoC和AOP,可见AOP的地位在Spring里面有着举足轻重的地位。

首先在依赖spring-boot-starter-aop,其次就没有了,直接用即可。

 @Aspect
@Component
public class HttpAspect { private final static Logger
logger = LoggerFactory.getLogger(HttpAspect.class); @Pointcut(value = "execution (public * com.LoginApplication.testMybatis(..))")
public void log() {
} @Before(value = "log()")
public void doBefore() { logger.info("AOP 前置拦截");
// System.out.println("AOP 前置拦截");
} @After(value = "log()")
public void doAfter() { logger.info("AOP 后置拦截");
// System.out.println("");
}
}

5,6行为slf4j的日志打印,不用看即可。8,9行是为了不要重复,建了一个类似模板的东西,里面的value为切面表达式。

第一个 * 代表可以返回任何值,com为包名,LoginApplication为类名,testMybatis为方法名,其中方法名可以用 * 代替,表示代替所有。括号里面的 .. 表示接受任何类型的参数和任何多少的参数。

具体详情可以看这篇:https://www.cnblogs.com/songshuiyang/p/7857515.html

结果就是每次调用testMybatis这个方法的时候,就会在其前后打印befor,after里面的内容。

【SpringBoot系列3】SpringBoot使用事务和AOP的更多相关文章

  1. Springboot系列:Springboot与Thymeleaf模板引擎整合基础教程(附源码)

    前言 由于在开发My Blog项目时使用了大量的技术整合,针对于部分框架的使用和整合的流程没有做详细的介绍和记录,导致有些朋友用起来有些吃力,因此打算在接下来的时间里做一些基础整合的介绍,当然,可能也 ...

  2. SPRING-BOOT系列之SpringBoot快速入门

    今天 , 正式来介绍SpringBoot快速入门 : 可以去如类似 https://docs.spring.io/spring-boot/docs/2.1.0.BUILD-SNAPSHOT/refer ...

  3. SPRING-BOOT系列之SpringBoot的诞生及其和微服务的关系

    转载自 : https://www.cnblogs.com/ityouknow/p/9034377.html 微服务架构 微服务的诞生并非偶然,它是在互联网高速发展,技术日新月异的变化以及传统架构无法 ...

  4. SpringBoot 系列教程之事务不生效的几种 case

    SpringBoot 系列教程之事务不生效的几种 case 前面几篇博文介绍了声明式事务@Transactional的使用姿势,只知道正确的使用姿势可能还不够,还得知道什么场景下不生效,避免采坑.本文 ...

  5. SpringBoot 系列教程之事务隔离级别知识点小结

    SpringBoot 系列教程之事务隔离级别知识点小结 上一篇博文介绍了声明式事务@Transactional的简单使用姿势,最文章的最后给出了这个注解的多个属性,本文将着重放在事务隔离级别的知识点上 ...

  6. SpringBoot 系列教程之编程式事务使用姿势介绍篇

    SpringBoot 系列教程之编程式事务使用姿势介绍篇 前面介绍的几篇事务的博文,主要是利用@Transactional注解的声明式使用姿势,其好处在于使用简单,侵入性低,可辨识性高(一看就知道使用 ...

  7. SpringBoot系列(十三)统一日志处理,logback+slf4j AOP+自定义注解,走起!

    往期精彩推荐 SpringBoot系列(一)idea新建Springboot项目 SpringBoot系列(二)入门知识 springBoot系列(三)配置文件详解 SpringBoot系列(四)we ...

  8. SpringBoot系列: SpringBoot Web项目中使用Shiro

    注意点有:1. 不要启用 spring-boot-devtools, 如果启用 devtools 后, 不管是热启动还是手工重启, devtools总是试图重新恢复之前的session数据, 很有可能 ...

  9. SpringBoot系列——Spring-Data-JPA

    前言 jpa是ORM映射框架,更多详情,请戳:apring-data-jpa官网:http://spring.io/projects/spring-data-jpa,以及一篇优秀的博客:https:/ ...

  10. Java工程师之SpringBoot系列教程前言&目录

    前言 与时俱进是每一个程序员都应该有的意识,当一个Java程序员在当代步遍布的时候,你就行该想到我能多学点什么.可观的是后端的框架是稳定的,它们能够维持更久的时间在应用中,而不用担心技术的更新换代.但 ...

随机推荐

  1. iOS 5 故事板进阶(1)

    译自<iOS 5 by tutorials> 在上一章,你已经学习了故事板的基本用法.包括如何向故事板中添加 View Controller,通过 segues 切换 View Contr ...

  2. Oracle EBS R12 XML数据表格的Excel脚本报表

    http://www.cnblogs.com/quanweiru/archive/2012/07/28/2612680.html 一.概述 在EBS系统中,报表是一个非常重要的客户化开发内容,也是系统 ...

  3. 分形之皇冠(Crown)

    皇冠分形曲线 核心代码: static void FractalCrown(const Vector3& vStart, const Vector3& vEnd, Vector3* p ...

  4. WPF 右上角带数字的按钮

    效果如图所示 三种方案, 1:不改控件模版,布局实现,死开 2:改button模版,利用附加属性,附加附加属性,功能多了话,不利于拓展 3:继承button,添加依赖属性,接下来是这种 1:新建类 为 ...

  5. Google guava cache源码解析1--构建缓存器(3)

    此文已由作者赵计刚授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 下面介绍在LocalCache(CacheBuilder, CacheLoader)中调用的一些方法: Ca ...

  6. OCP考试062题库出现大量新题-18

    choose two Examine this command executed on a client that is remote from the database server. SQL> ...

  7. python 数据类型三 (字典)

    一.字典的介绍 字典(dict)是python中唯一的一个映射类型,它是以{}括起来的键值对组成,在dict中key是唯一的,在保存的时候,根据key来计算出一个内存地址,然后将key-value保存 ...

  8. Akka(20): Stream:异步运算,压力缓冲-Async, batching backpressure and buffering

    akka-stream原则上是一种推式(push-model)的数据流.push-model和pull-model的区别在于它们解决问题倾向性:push模式面向高效的数据流下游(fast-downst ...

  9. ubuntu14中把openssh升级到7.5

    经验证可用 下载相关tar.gz包,没有下载到的,可以在这里下载.http://download.csdn.net/download/songanshu/10023663 apt install -y ...

  10. switch...case... 语句中的类型转换

    switch语句对case表达式的结果类型有如下要求: 要求case表达式的结果能转换为switch表示式结果的类型 并且如果switch或case表达式的是无类型的常量时,会被自动转换为此种常量的默 ...