我想围绕我的API层中的所有处理程序指定并提供建议,这是一组包:
ox.server.meta.api.v1
ox.server.meta.api.v2
ox.server.meta.api.v2_1
ox.server.meta.api.v2_2我尝试了以下代码:
@Pointcut("@annotation(org.springframework.web.bind.annotation.RequestMapping)")
private void handler() {}
@Pointcut("within(ox.server.meta.api..*)")
private void controller() {}
@Around("handler() && controller()")
public Object aroundAllHandlers(ProceedingJoinPoint pjp) throws Throwable{
...
}Spring初始化失败,原因如下:
Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: Pointcut is not well-formed: expecting 'name pattern' at character position 8
handler() && controller()
^
:
java.lang.IllegalArgumentException: Pointcut is not well-formed: expecting 'name pattern' at character position 8
handler() && controller()有什么帮助吗?我正在使用Spring3.1.1。
发布于 2013-09-05 17:01:11
处理程序是AspectJ表达式语言中的保留关键字,更改您的方法名就可以了(参见http://www.eclipse.org/aspectj/doc/next/progguide/semantics-pointcuts.html)。
@Pointcut("@annotation(org.springframework.web.bind.annotation.RequestMapping)")
private void apiHandler() {}
@Pointcut("within(ox.server.meta.api..*)")
private void controller() {}
@Around("apiHandler() && controller()")
public Object aroundAllHandlers(ProceedingJoinPoint pjp) throws Throwable{
...
}https://stackoverflow.com/questions/18641228
复制相似问题