【问题标题】:Intellij: Go to autowired bean definitionIntellij:转到自动装配的 bean 定义
【发布时间】:2014-08-18 17:35:12
【问题描述】:

我正在寻找通过 java 代码中的 @Autowired 依赖项快速查找 bean 定义的方法。假设我有:

@Autowired 
private JdbcTemplate template;

我想让 IDEA 告诉我 template bean 的定义在哪个 xml 文件中。该怎么做?

【问题讨论】:

  • 你用的是什么版本?
  • @Morfic 第 13 版,终极版
  • 下面发布的答案似乎已经过时,而且我在 IDEA 插件部分无论如何都找不到 Spring 插件。有人可以发表其他建议吗?
  • @cinqS 虽然图标可能在此期间发生了变化,但答案并没有过时,它们仍然适用。但是,请确保您使用的是 IntelliJ Idea ULTIMATE,而不是社区版本,因为后者不具备所有功能,包括弹簧支持 (click here for edition comparison matrix)

标签: intellij-idea


【解决方案1】:

如果您已安装并激活了 spring 插件,您应该会在左侧装订线中看到一些图标,这些图标可帮助您识别 bean 的定义位置,无论是 xml 还是注释。如果您有多个弹簧配置文件,您可能必须选择活动的一个。

【讨论】:

  • 我没有。如何安装?
  • Idea 应该已经默认安装了它。文件 -> 设置 -> 插件(在 IDE 设置下)。如果列表中存在但未启用,请勾选插件的复选框。否则点击install jetbrains plugin。如果插件已经安装并处于活动状态,请确保您已将 spring facet 添加到项目中。文件 -> 项目结构 -> Facets -> + -> Spring
  • 有什么捷径吗?我找不到它。
  • @zeronone 根据docs,您可以使用CTRL + B 导航到其声明位置
  • @Morfic 可悲的是CTRL+B 在这里没有帮助。对于字段,它导航到它的用法,对于字段的类型,它导航到类型声明,这通常是(抽象超类型或 XML spring 配置文件)而不是 bean 定义。我找不到图标功能的快捷方式。
【解决方案2】:

首先由Ctrl+Alt+S安装spring插件 在 IDE 设置下,选择插件。 在对话框右侧的 Plugins 页面上,在搜索框中键入 spring。 如果 Spring Support 左侧的复选框未选中,则选中它。如果您要使用特定的 Spring 框架(Spring Security、Spring Integration 等),请确保它们名称旁边的复选框也被选中。

然后左边的图标(靠近代码行号)有助于识别 bean 定义

【讨论】:

  • 我已经选择了,但它仍然没有显示任何图标。 2020.3之后好像坏了?
【解决方案3】:

我使用的是 CDI 而不是 Spring,但使用 Go to Implementation 键盘快捷键可以实现这一点,只要您的类路径中只有一个接口实现,否则它会弹出一个小的下拉菜单。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-06
    • 2020-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-31
    • 1970-01-01
    相关资源
    最近更新 更多