在使用 Spring IDE 和 Spring Tool Suite (STS) 这么多年之后,我从来没有理解过一件事。我正在使用 XML 配置文件。一个文件(比如“applicationContext.xml”)通过以下方式导入其他 XML 文件:
<import resource="classpath:path/to/otherContextFile.xml" />
在我的 Eclipse 项目属性中,在 Spring | Beans Support,启用选项“启用对配置文件中的 <import/> 元素的支持”。
在同一个项目属性页面中,如果配置文件列表只包含 applicationContext.xml,STS 仍然能够检测到 otherContextFile.xml 的内容并正确解析。
但是,我看到的是,如果 STS 执行配置文件的自动检测,它总是将 otherContextFile.xml 添加到该列表中。但是将所有导入的配置文件添加到该列表听起来像“启用对配置文件中的 <import/> 元素的支持”选项对我来说毫无用处。因为我喜欢保持我的项目设置干净整洁,所以当这种情况发生时,我通常会从该列表中删除导入的文件。
但是,有时会触发自动扫描(可能在 STS 升级或我不知道......)并且这些文件被重新添加。这让我认为无论如何将它们列出来可能是一个更好的选择......
所以,问题是:什么更正确、优雅和高效(从性能的角度来看)?只列出“根”配置文件或全部(甚至是导入的)?如果答案是后者,那么“在配置文件中启用对 <import/> 元素的支持”选项的意义何在?