首页 > 解决方案 > Spring boot AOP 忽略使用 @Named 注册的 JAX-RS 资源

问题描述

处理一个简单的 Web 应用程序,其中 Spring boot 2.x 处理不同组件之间的连接,而 JAX-RS/Jersey 处理 REST 调用。

像下面这样的简单配置用于拦截 REST 调用。

@Aspect
@Configuration
public class MyAspectConfig {

    @After("execution(public * *..*Resource.*(..))")
    public void afterExec(JoinPoint joinPoint) {
        System.out.println("====================== " + joinPoint);
    }
}

我们注意到,如果使用 @Named 注释的 JAX-RS 资源类,则不会调用上面的建议。但是用@Component 替换@Named 可以解决这个问题。

这是一个已知问题/限制吗?@Named 和 @Component 不能互换吗?

标签: javaspring-bootjax-rsaopnamed

解决方案


推荐阅读