目地:
我们很多程序每天有大量用户访问,特别是一些增删改操作,如果每一笔操作都写一条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 操作类型
*/
String operType() default "";
/**
* @return 操作人
*/
String user() default "";
}
二,切面拦截有这个注解的方法,对这个方法的参数进行输出,我这里是打印到控制台,后面

本文介绍如何利用AOP的环绕拦截功能,通过自定义的@LogAround注解来捕获用户操作信息。当接口收到带有此注解的方法请求时,会进行前置通知,提取请求的属性和参数并记录,以降低程序侵入性。这种方法适用于监控大量用户访问的系统,便于后期数据分析。
最低0.47元/天 解锁文章
1635

被折叠的 条评论
为什么被折叠?



