SpringBoot Aop 记录操作日志存入数据库
本文不探讨具体原理,只讲业务实现。我主要是将这个操作分为以下几步:
1.首先我们需要自定义一个操作注解来获取我们拦截的接口的相关信息
2.那么接下来就是这个操作注解放在哪里了
我们需要将该注解放在我们需要拦截的接口上,那这个接口具体属于哪个模块,我们就可以命名moduleName即模块名,option就是这个接口具体是干什么的。注意,所有加上该注解的接口如果被调用那么都会被拦截。
3.接下来我们利用SpringAOP来拦截接口进行日志操作
*/**
* @author : hao.wu
* @Description :日志拦截器,切面处理类
* @Date : Create in 14:32 2019/5/23
* @Modified By:
*/
@Aspect
@Component
public class LogInterceptor {
@Autowired
private CrmOperationLogService crmOperationLogService;
@Around("@annotation(log)")
public Object interceptorApplogic(ProceedingJoinPoint pj, OperationLog log) throws Throwable {
//这个Pojo是我日志记录的实