如何自定义注解
aop的基本知识与应用
若依对用户的一些更新删除等敏感操作操作进行了日志记录
注解定义和切面处理的项目位置
第一步:自定义注解log
定义了注解的相关信息。这里定义的属性可以在使用时加以定义
注解@Target和@Retention的作用
第二步切面逻辑处理
首先明确了在请求处理完和出现异常都要进行逻辑处理,切入点为Log注解,拦截了返回值,两者都调用了handleLog()方法;
handleLog()方法
前面只是一些信息的组装,这里利用反射获取了方法名和类名
这里在记录请求参数时使用fastjson的json参数过滤
JSONObject.toJSONString()包含或排除指定的属性
如果是put或post请求时,还做了参数拼装,不过在拼装时排除了这几种类型的参数
在获取请求参数时如果是post或put请求,直接使用了AOP相关的joinPoint.getArgs()方法,其他方式则是通过封装了一下request的方法。
我们点解详情就可以查看相关信息
在处理完所有事情后把信息存入数据库