前言:

因为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. 转:mysql触发器

    原文地址:http://www.cnblogs.com/nicholas_f/archive/2009/09/22/1572050.html CREATE TRIGGER <触发器名称>  ...

  2. Azure DevOps Server: 使用Rest Api获取拉取请求Pull Request中的变更文件清单

    需求: Azure DevOps Server 的拉取请求模块,为开发团队提供了强大而且灵活的代码评审功能.拉取请求中变更文件清单,对质量管理人员,是一个宝贵的材料.质量保障人员可以从代码清单中分析不 ...

  3. .Net下EF的简单实现

    1.连接SQLServer,创建数据库TestDB; 2.添加EF引用,点击工具-NuGet包管理器-管理解决方案的NuGet程序包, 搜索EntityFramework包,点击安装: 3.在Web. ...

  4. [Element-UI] 使用Element-UI的DateTimePicker组件报错:Cannot read property 'getHours' of undefined

    使用Element-UI组件的DateTimePicker,如下: <template> <div class="block"> <span clas ...

  5. Linux的基本操作

    1.linux系统的基本命令 ls  查看当前所在文夹下的内容pwd  查看当前所在的位置cd  打开文件目录touch  创建文件, 如果文件不存在, 就创建新的文件mkdir 创建文件夹rm  删 ...

  6. iOS开发之Todo List for Swift项目

    一直从事Windows Phone开发,但对iOS开发一直有所好奇,于是在MBP到手之际,顺手安装了Xcode.移动互联网开发的相似性,使得我能快速地了解和认识了iOS的开发框架体系,在看完了Appl ...

  7. VS2015 WPF Prism Xaml Designer error

    Ref: http://wiki.tk2kpdn.com/build-error-prism5-interactionrequesttrigger-with-vs2015/ gacutil -i &q ...

  8. 转载:Java、C#双语版配套AES加解密示例

    转载,原文出处 http://www.cnblogs.com/lzrabbit/p/3639503.html 这年头找个正经能用的东西那是真难,网上一搜索一大堆,正经能用的没几个,得,最后还是得靠自己 ...

  9. Parallel Gradient Boosting Decision Trees

    本文转载自:链接 Highlights Three different methods for parallel gradient boosting decision trees. My algori ...

  10. Redmine 删除 project 中的 public 选项

    缘由:由于manager的错误设置,导致本不该public的项目设置成public 诉求:去除项目新建及设置时的public勾选 1.查找日志 由于redmine是拿ruby编写的,且主页等都是由ht ...