1.写一个注解
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Component
public @interface MyLogAnno {
}
2.注解解释器
@Aspect
@Component
@Slf4j
public class MyLogAnnoInterpreter {
@Pointcut("@annotation(com.colorful.gtj.controller.MyLogAnno)")
public void controllerLog() {
}
@After("controllerLog()")
public void doAfter(JoinPoint joinpoint) {
System.out.println("方法执行后--—");
log.info("方法执行后,正在存储日志");
}
}
3.使用注解(在需要存储日志的地方使用该注解)
@GetMapping("/notReadList")
@MyLogAnno
public TableDataInfo notReadList(SysNoticeLog notice) {
startPage();
List<SysNotice> list = noticeLogService.selectNotReadList(notice);
return getDataTable(list);
}
最后访问该注解的接口,日志将会被执行