Java 按声明的返回类型划分的Spring AOP切入点
我有以下类和方法:Java 按声明的返回类型划分的Spring AOP切入点,java,aop,spring-aop,Java,Aop,Spring Aop,我有以下类和方法: public class Hello { public String getGreetingA() { return "hello"; } public boolean getGreetingB() { return false; } } 以及以下方面: @Aspect public class HelloAspect { @Pointcut("execution (public String Hel
public class Hello {
public String getGreetingA() {
return "hello";
}
public boolean getGreetingB() {
return false;
}
}
以及以下方面:
@Aspect
public class HelloAspect {
@Pointcut("execution (public String Hello.*(..)")
public void pointcut() {}
@Around("pointcut")
public Object advice(ProceedingJoinPoint pjp) {
// do something...
Object result = pjp.proceed;
// do something...
return result;
}
}
目前,对Hello
类方法执行通知。
我希望方面只针对返回String
type的方法。似乎执行
切入点在这里并不相关(因为通知是环绕
类型的,并且在执行通知时返回值还不存在)
在SpringAOP中,有没有一个简单的理由来定义一个切入点,指向连接点上声明的返回值属于某种类型的目标
(我知道我可以获得
pjp。继续
返回值并检查它的实例
,但我不想这样做)我已经复制了你的类,正如预期的那样,方面只适用于getGreetingA,我无法重现你的情况,即它们都是目标
您的示例中存在一些语法错误,下面是正确的代码:
@Pointcut("execution (public String Hello.*(..))")
@Around("pointcut()")
现在,用于
@Pointcut
的模式应该只适用于方法getGreetingA
,因为它将Hello
中的所有公共方法与返回类型String
相匹配。