• 【SpringBoot系列3】SpringBoot使用事务和AOP


    前言:

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

    正文(事务):

     1 /**
     2      * springboot中运用事务
     3      * 真的超级方便,直接加上注解就ok了,连配置都省了
     4      * @return
     5      */
     6     @Transactional
     7     public int insertDemo() {
     8         
     9         int flag = td.insertDemo("bo", "123456");
    10         flag = td.insertDemo("bo", "123456");
    11         return flag;
    12     }

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

    正文(AOP):

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

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

     1 @Aspect
     2 @Component
     3 public class HttpAspect {
     4     
     5     private final static Logger 
     6         logger = LoggerFactory.getLogger(HttpAspect.class);
     7     
     8     @Pointcut(value = "execution (public * com.LoginApplication.testMybatis(..))")
     9     public void log() {
    10     }
    11     
    12     @Before(value = "log()")
    13     public void doBefore() {
    14         
    15         logger.info("AOP 前置拦截");
    16 //        System.out.println("AOP 前置拦截");
    17     }
    18     
    19     @After(value = "log()")
    20     public void doAfter() {
    21         
    22         logger.info("AOP 后置拦截");
    23 //        System.out.println("");
    24     }
    25 }

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

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

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

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

  • 相关阅读:
    易优CMS:compare的基础用法
    易优CMS:switch的基础用法
    2019年创意可爱卡通小清新教育课件培训PPT模板
    简约清新立体商务年终工作总结汇报动态PPT模板
    中国古风唯美水墨工作计划汇报PPT模板推荐
    新学期教育教学小学家长会PPT模板推荐
    遇见手绘花卉小清新简约通用PPT模板推荐
    简约清新日系你好五月通用PPT模板推荐
    清新简约风格毕业论文答辩PPT模板推荐
    C# 中=>符号的使用
  • 原文地址:https://www.cnblogs.com/wenbochang/p/8985835.html
Copyright © 2020-2023  润新知