我在一家拥有数百万行代码和数百个模块的公司工作。我们的 Spring 配置、所有 bean 定义和连接都是在 XML 文件中定义的。
我发现使用 XML 非常困难 - 它不可调试、类型不安全、需要大量的 ctrl+f 等等。我想改用 @Configuration
类。
除了担心当我们使用代码来配置我们的接线时它可能会被滥用之外,我几乎完全看到了优点。我试图找出除了滥用此功能之外,在采取此步骤时我应该考虑的缺点。
最佳答案
基本上,这确实是一个方便的问题。 Spring 始终确保其所有 API 的集成尽可能简单。您可以迁移到@Configuration
并很容易地使用 XML beans,反之亦然。
我只能想到两个主要缺点:
- 正如您所说 - 滥用系统。
- 我在迁移时发现的一个问题是无法使用抽象 bean。在 XML 中,将 bean 标记为抽象,即。
<bean id="someBean" abstract="true">...</bean>
将使它成为一个模板 - 但在迁移具有parent="someBean"
的 bean 时不能使用此模板容易地。您必须从 XML 中复制抽象。
关于java - 使用Spring的@Configuration类的缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20551530/