在 Eclipse Spring 首选项中检查 "Disable Auto Config Detection" 会产生什么后果?

What are the consequences of checking "Disable Auto Config Detection" in the Eclipse Spring preferences?

我的意思是 Window|Preferences|Spring|Beans Support 下的 Eclipse 首选项 "Disable Auto Config Detection".

未选中此选项时,我注意到保存 Java 文件时出现延迟: 构建工作区...

正在加载...ServerApplication 要么 正在加载 ...DaoConfig

这些消息是针对 Spring 引导主应用程序 类 (ServerApplication) 或 Spring 配置 类 with @ComponentScan (DaoConfig) 位于工作区。 这可能需要几秒钟,这有点烦人。

当我检查上面的首选项时,我没有注意到加载这些 类 的延迟(至少对于 Spring Boot main 类)。

禁用自动配置检测有什么后果,例如这个选项到底有什么作用,我失去了什么功能?任何指向文档的指针?

我可以在不禁用自动配置检测的情况下加快保存过程吗?

在 STS3 中,IDE 为您的 Spring 应用程序创建了一个内部模型,因此它可以很好地显示 Spring 中 Spring 元素的概览资源管理器视图,在 Spring XML 配置文件等中提供内容辅助。为了构建这个内部 Spring beans 模型,它需要知道在构建该模型时从哪里开始。您可以在每个项目的属性中手动定义这些入口点:Spring -> Beans Support。该首选项允许您定义 Spring XML 配置文件 and/or Spring-注释配置 类 供 IDE 内部使用以构建那个型号。

除此之外,还有一种机制可以自动检测这些文件(Spring XML 配置文件和 Spring 引导应用程序配置注释),因此您不需要手动配置它们。但结果是一样的。那些 files/classes 最终被配置为由 IDE 使用来构建这个内部模型。

我猜你看到的延迟来自于构建这个内部 beans 模型 - 这至少是你提到的消息表明的内容。

背景介绍到此为止。您可以禁用该自动配置机制,并且不需要手动配置那些 files/classes。例如,这将导致 Spring Explorer 不显示对这些项目有意义的任何内容。

作为替代方案,如果您主要使用 Spring 启动项目,我强烈建议切换到全新的 Spring Tools 4(也可作为现成的- 使用 Eclipse 分发)。它提供了一组略有不同的功能并以不同的方式实现,因此它不需要昂贵的内部 bean 模型创建。你应该试一试。如果您在 STS3 中遗漏了一些您喜欢但尚未包含在 Spring Tools 4 中的内容,请告诉我们。