前情:

        发现好几个方法显示no usages,虽然在idea中没有看见被调用,但是显然这些方法是有用的。那么我的理解是usages而不是use。比如拦截器是spring底层提供的一种机制,只要重写其方法就能完成此功能,不需要被调用。

为什么会出现这种情况?

  1. Idea的静态分析局限

    • Idea通过代码静态分析检测直接调用关系,但Spring的拦截器注册是通过运行时动态绑定的(registry.addInterceptor本质是将拦截器存入Spring容器内部的链表)

    • Idea无法识别这种Spring特有的间接依赖关系

  2. 常见误报场景

    • 拦截器/过滤器通过配置类注册

    • Bean通过@Autowired注入但未被直接调用

    • XML配置的Bean引用

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐