gpt4 book ai didi

java - Spring AOP - @Around Error at::0 在切入点中正式未绑定(bind)

转载 作者:行者123 更新时间:2023-11-30 03:14:19 35 4
gpt4 key购买 nike

我查看了其他问题,但没有一个适用。关于为什么 @Before 有效而 @Around 无效的任何想法?

在此处处理源代码: http://www.captaindebug.com/2013/07/auditing-spring-mvc-webapp-with-aspectj.html#.VhUeIxNViko

这工作正常:

@Before("execution(public String com.captaindebug.audit.controller.*Controller.*(..)) && @annotation(auditAnnotation)")
public void auditScreen(JoinPoint joinPoint,Audit auditAnnotation) {...}

但是失败并出现错误:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mvcContentNegotiationManager': Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: error at ::0 formal unbound in pointcut

@Around("execution(public String com.captaindebug.audit.controller.*Controller.*(..)) && @annotation(auditAnnotation)")
public void profile(ProceedingJoinPoint pjp, Audit auditAnnotation) throws Throwable {...)

这也不起作用:

    @Pointcut("execution(public String com.captaindebug.audit.controller.*Controller.*(..))")
public void controllerMethods() {}

@Around("controllerMethods()")
public void profile(ProceedingJoinPoint pjp) throws Throwable {}

最佳答案

@Around 必须返回一些东西。

public Object profile(ProceedingJoinPoint pjp, Audit auditAnnotation) throws Throwable {
...
Object retVal = pjp.proceed();
...
return retVal;
}

关于java - Spring AOP - @Around Error at::0 在切入点中正式未绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32993516/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com