java 注解 + apo 实现日记记录

2023-11-12  本文已影响0人  anyoneofus_4aa9

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);
    }

最后访问该注解的接口,日志将会被执行


image.png
上一篇下一篇

猜你喜欢

热点阅读