小编mao*_*ojf的帖子

Spring AOP中如何拦截元注解(annotated annotations)

假设我想找到所有用@Controller 注释的类,我会创建这个切入点:

    @Pointcut("within(@org.springframework.stereotype.Controller *)")
    public void controllerPointcut() {}
Run Code Online (Sandbox Code Playgroud)

但是找不到那些用@RestController 注释的控制器。因为 RestController 本身是用@Controller 注释的。

关于如何查找使用 @Controller 或 @RestController 注释的类而无需创建两个 Pointcuts 的任何想法?


======编辑====我在这里的真正意图如下:

父注释:

public @interface ParentAnnotation {}
Run Code Online (Sandbox Code Playgroud)

子注释(用@ParentAnnotation 注释):

@ParentAnnotation 
public @interface ChildAnnotation {}
Run Code Online (Sandbox Code Playgroud)

A类:

@ParentAnnotation 
public class MyClassA {}
Run Code Online (Sandbox Code Playgroud)

B类:

@ChildAnnotation 
public class MyClassB {}
Run Code Online (Sandbox Code Playgroud)

现在我想通过@ParentAnnotation 找到MyClassA 和MyClassB。找到MyClassA是没有问题的,但是MyClassB是用@ParentAnnotation间接注释的,有没有通用的方法来处理这种情况?

spring annotations aspectj spring-aop

1
推荐指数
1
解决办法
1294
查看次数

标签 统计

annotations ×1

aspectj ×1

spring ×1

spring-aop ×1