@within
此PCD将匹配限制为具有给定注释的类型内的连接点:
@Pointcut("@within(org.springframework.stereotype.Repository)")
@注释
此PCD将匹配限制为连接点的主题具有给定注释的连接点。例如,我们可以创建一个@Loggable批注:
@Pointcut("@annotation(org.baeldung.aop.annotations.Loggable)")
public void loggableMethods() {}
这是否意味着@annotation仅适用于用户定义或自定义注释。 和@within用于标准注释
答案 0 :(得分:1)
这可能是一个较旧的问题,但只是想添加答案以提高可见度。
正如评论中的JBNizet所述,javadoc提供了两者之间的明显区别:
@within:将匹配点限制为具有以下类型的连接点: 给定的注释(以 使用Spring AOP时给出给定的注释。
@annotation:将匹配限制为连接点 连接点(在Spring AOP中执行的方法)具有给定 注释。