目地:
我们很多程序每天有大量用户访问,特别是一些增删改操作,如果每一笔操作都写一条SQL插入对程序的侵入太大了,但是这些操作又非常有必要保存。
方案:
这里考虑使用AOP拦截器,在接口请求时对@LogAround的注解进行切面拦截,通过前置通知获取返回的对象,然后遍历对象中的请求的属性和参数进行记录。
前置拦截与公共的3,4,5请看自定义注解通过aop拦截用户访问信息并存入到数据库中(-)
环绕拦截具体代码如下:
1,自定义一个前置@LogAround注解
package com.hcmony.sword.aspect.around;
import com.hcmony.sword.aspect.before.LogBefore;
import java.lang.annotation.*;
/**
*<h3>方法环绕操作日志记录</h3>
* <p>如果想使用广告操作前记录请使用{@link LogBefore}</p>
*
* @author hcmony
* @since V1.0.0, 2018/02/07 15:22
*/
@Documented
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Inherited
public @interface LogAround {
/**
* @return 要记录系统的名称。
*/
String keyName();
/**
* @return 操作类型
*/