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字符串。

 

posted @ 2018-10-30 15:36  我爱si搬砖  阅读(283)  评论(0编辑  收藏  举报