java - 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 不能互换吗?
解决方案
推荐阅读
- python - model.fit_generator : 'tuple' 对象不能被解释为整数
- javascript - 当用户关闭 Android/IOS Cordova/Capacitor 应用程序时,是否可以检测并执行操作?
- reactjs - 反应docker nginx kubernetes 404
- tcl - 如何将目录中的第一个文件设置为 TCL 中的变量?
- c++11 - C++ 声明和初始化/变量未初始化为默认值
- python - Python:如果满足/不满足条件,需要停止运行代码
- dart - 我怎样才能要求一个类在 Dart 中有 fromJson?
- php - 'PHP 消息:PHP 警告:未定义的数组键“lastpage”问题
- c - 动态分配二维数组时出现分段错误(核心转储)
- vagrant - 每当命令 Vagrant up 时,Vagrant 都找不到该框