Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring AOP问题_Java_Spring_Spring Aop - Fatal编程技术网

Java Spring AOP问题

Java Spring AOP问题,java,spring,spring-aop,Java,Spring,Spring Aop,我想指定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() {} @Pointcu

我想指定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。

处理程序是AspectJ表达式语言中的保留关键字,更改方法名称应该可以做到这一点(请参阅)

@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{
    ...
}