Spring框架4.1.6中是否支持注释模式切入点?

时间:2015-05-05 21:43:59

标签: java spring spring-mvc jboss6.x

我有以下Spring REST控制器:

@RestController
public class QuoteController {

    @RequestMapping(value = {"/quotes"}, method = RequestMethod.GET)
    public String getQuotes(@PathVariable("accountId") String accountId)
            throws Exception {

        return "100.00";
    }

}

以及以下方面和上下文配置文件:

@Component
@Aspect
public class TestControllerAspect {

    @Around("execution(@org.springframework.web.bind.annotation.RequestMapping public * com.test.controller..*.*(..))")
    public Object controllerAroundAdvice(ProceedingJoinPoint joinPoint) throws Throwable {
        Object[] args = joinPoint.getArgs();
        for (Object o : joinPoint.getArgs()) {
            System.out.println(o.toString());
        }
        return joinPoint.proceed();
    }
}

@Configuration
@ComponentScan("com.test.controller")
@EnableWebMvc
@EnableCaching
@EnableAspectJAutoProxy
public class WebConfig extends WebMvcConfigurerAdapter {

    @Bean
    public TestControllerAspect controllerAspect() {
        return new TestControllerAspect();
    }
}

当我在JBoss EAP 6中部署此代码时,我从spring框架中收到以下错误:

bean初始化失败;嵌套异常是java.lang.IllegalArgumentException:错误注释类型模式仅在Java 5合规级别或更高级别受支持。

我使用@annotation尝试了上述切入点但收到了类似的错误。 stackoverflow中有关于这些错误的类似帖子,但它们指的是旧版本的spring和aspectj weaver jar。我正在使用spring 4.1.6,我相信已经用spring重新打包了aspectj类。

是否有其他人遇到此错误。顺便说一下,我使用的是java 1.8。 感谢回应。

0 个答案:

没有答案