spring-tools-4 - 在 Eclipse Spring 首选项中选中“禁用自动配置检测”有什么后果?
问题描述
我的意思是 Window|Preferences|Spring|Beans 下的 Eclipse 首选项支持“禁用自动配置检测”。
如果未选中此选项,我会注意到保存 Java 文件时出现延迟:Building Workspace...
正在加载 ...ServerApplication 或正在加载 ...DaoConfig
这些消息用于位于工作区中的 Spring Boot 主应用程序类 (ServerApplication) 或带有 @ComponentScan (DaoConfig) 的 Spring 配置类。这可能需要几秒钟,这有点烦人。
当我检查上述首选项时,我没有注意到加载这些类的延迟(至少对于 Spring Boot 主类)。
禁用自动配置检测的后果是什么,例如此选项的真正作用是什么,我会失去什么功能?任何指向文档的指针?
我可以在不必禁用自动配置检测的情况下加快保存过程吗?
解决方案
在 STS3 中,IDE 创建 Spring 应用程序的内部模型,以便它可以在 Spring Explorer 视图中很好地显示 Spring 元素的概览,在 Spring XML 配置文件中提供内容辅助等等。为了构建这个内部 Spring bean 模型,它需要知道在构建该模型时从哪里开始。您可以在每个项目的属性中手动定义这些入口点:Spring -> Beans Support
. 该首选项允许您定义 Spring XML 配置文件和/或 Spring 注释的配置类,供 IDE 在内部使用以构建该模型。
除此之外,还有一种机制可以自动检测这些文件(Spring XML 配置文件和 Spring Boot 应用程序配置注释),因此您无需手动配置它们。但结果是一样的。这些文件/类最终被配置为被 IDE 用来构建这个内部模型。
我猜你看到的延迟来自于构建这个内部 bean 模型——这至少是你提到的消息所表明的。
至此背景。您可以禁用该自动配置机制,而无需手动配置这些文件/类。例如,这将导致 Spring Explorer 不会显示对这些项目有意义的任何内容。
作为替代方案,如果您主要使用 Spring Boot 项目,我强烈建议切换到全新的 Spring Tools 4(也可作为即用型 Eclipse 发行版提供)。它提供了一组略有不同的特性,并以不同的方式实现,因此它不需要昂贵的内部 bean 模型创建。你应该试一试。如果您在 STS3 中遗漏了一些您喜欢但尚未包含在 Spring Tools 4 中的东西,请告诉我们。
推荐阅读
- python - “元组”对象没有属性“剪辑”
- c# - 如果没有要下载或安装的更新,如何退出 C# 控制台应用程序?
- c# - Cloud front 后面的 AWS S3 - 如何使用 c# 访问
- vb.net - VB.Net-如何获取文件夹中最近创建的文件/如何从文件夹中获取 10 个最新文件
- api - 如何存储和响应 API 请求的变量
- docker - 如何向 pod 提供文件?
- python - 如何避免 az ml run --submit-script 命令中出现错误“conda --version: conda not found”?
- flutter - canvas.drawImage 将焦点更改为中心
- laravel - Laravel 没有从 Postman 获取数据
- c - 堆栈框架内的内存是如何组织的?