0

我正在使用 Spring Tool Suite (STS) 来管理一个大型 Java Spring 项目。STS 中是否有允许通过别名查找特定 bean 的声明的函数?

例如,如果我在 Java 类中有以下属性:

@Resource
private WidgetService widgetService;

我知道这个属性会从一个名为 的 Spring bean 自动连接"widgetService"。注入的 bean 将是实现接口的类的实例WidgetService。实现可能与接口不在同一个包中。我需要一种方法来从该属性声明中快速确定将注入哪个实现。

我尝试widgetService使用 Spring Beans Search 进行搜索,但结果为空。它是空的,因为 bean 定义如下:

<alias alias="widgetService" name="defaultWidgetService" />
<bean id="defaultWidgetService" class="namespace.DefaultWidgetService"/>

我的搜索有答案 ( DefaultWidgetService),但它位于名为“defaultWidgetService”的 bean 中。由于用于自动装配的 bean@Resource具有别名,因此 Spring Beans Search 不起作用,因为它只有按名称、类等进行搜索的选项,但没有按别名进行搜索的选项。

我知道我可以只使用文件搜索和搜索,alias="widgetService"但由于项目的大小,通过文本搜索非常慢。我还可以在调试时检查属性并获取注入 bean 的类,但这也很麻烦。Java Search 很快,因为它被索引了,而 Spring Beans Search 也因为同样的原因而很快。但我想知道:如果它不能帮助我找到别名 bean,为什么我要使用 STS(这会增加我的构建时间,以便 STS 可以索引 Spring bean)?

4

0 回答 0