zoukankan      html  css  js  c++  java
  • Spring AOP

    1. 在pom.xml文件里面添加依赖

    <dependency>

      <groupId>org.springframework</groupId>

      <artifactId>spring-context</artifactId>

      <version>4.3.9.RELEASE</version>

       </dependency>

    <!--

     Spring AOP的实现依托于Aspect框架(AOP框架)

     所以要引用1.8.5有问题 -->

    <dependency>

    <groupId>org.aspectj</groupId>

    <artifactId>aspectjrt</artifactId>

    <version>1.8.9</version>

    </dependency>

    <dependency>

    <groupId>org.aspectj</groupId>

    <artifactId>aspectjweaver</artifactId>

    <version>1.8.9</version>

    </dependency>

    2. 创建一个切面类

    以为这个类属于一个业务,需要添加@Service

    这个业务需要在运行的过程中添加一些扩展业务,添加注解@Aspect

    2.1 在这个类里面方法前添加环绕通知,以及切入点

    @Pointcut("需要切入点的bean对象")

    @Around

    这两个注解可以合在一块写

    @Around("需要切入的bean对象")

    例如:

    /**
    * 切入点的定义(借助@Pointcut注解进行描述)
    */
    @Pointcut("bean(sysUserServiceImpl)")
    public void doPointCut(){}
    /**
    * @Around修饰的方法为一个环绕的通知
    * 可以在目标方法执行之前和之后添加扩展业务
    * @param jp 连接点(封装了要执行的具体方法对象信息)
    * @return
    */
    @Around("doPointCut()")
    //@Around("bean(sysUserServiceImpl)")
    public Object aroundMethod(ProceedingJoinPoint jp)

    2.2  在@Around修饰的方法里面描述目标方法执行前和执行后添加扩展业务

    // result 为目标方法返回值

    Object result = jp.proceed();//这个方法用来执行切入点的目标方法

    2.3  将数组转化成Json串

    String params=new ObjectMapper().//jackson
    writeValueAsString(jp.getArgs());

    使用writeValuesAsString的方法就可以把对角转化成json字符串。

  • 相关阅读:
    Javascript中this关键字详解
    Chrome 中的 JavaScript 断点设置和调试技巧
    将Sublime Text3添加到右键菜单中
    sublime text 3如何安装插件和设置字号
    sublime text 侧边栏样式修改
    JS中关于clientWidth offsetWidth scrollWidth 等的含义
    scrollWidth,clientWidth,offsetWidth的区别
    JS中apply和call的用法
    JS中的call()和apply()方法
    JAVA-初步认识-第四章-函数-Demo练习
  • 原文地址:https://www.cnblogs.com/gxlaqj/p/9877151.html
Copyright © 2011-2022 走看看