spring在注解标注的方法上加切面

之前以为只能在方法签名上加切面,今天发现注解上也能加切面

1.自定义一个注解(任意注解都可以,不一定是自定义的)

    @Target({ElementType.METHOD})
    @Retention(RetentionPolicy.RUNTIME)
    public @interface RestRequestHelper {
    }

 

2.在一个方法上加上注解,比如加在controller的请求方法上

    @PostMapping("/test")
    @RestRequestHelper
    public String test(@RequestBody Map map) {
        return "aa";
    }

 

3.定义一个切面

    @Around("@annotation(restRequestHelper)")
    public Object process(ProceedingJoinPoint pjp, RestRequestHelper restRequestHelper) {
        //do something
    }

 

posted @ 2019-11-18 15:35  扶不起的刘阿斗  阅读(1842)  评论(2编辑  收藏  举报