使用Spring的@Configuration类的缺点

时间:2013-12-12 18:38:16

标签: java spring configuration autowired

我在一家拥有数百万行代码库和数百个模块的公司工作。我们的Spring配置,所有bean定义和布线都在XML文件中定义。

我发现使用XML非常困难 - 它不可调试,非类型安全,需要大量的ctrl + f等等。我想切换到使用@Configuration类。

除了担心当我们使用代码配置我们的布线时,我看到几乎完全有优势,它可能会被滥用。我试图找出除了滥用此功能之外的其他缺点,在采取这一步骤时我应该考虑这些缺点。

1 个答案:

答案 0 :(得分:2)

基本上,它确实是一个方便的问题。 Spring始终确保尽可能轻松地集成所有API。您可以很容易地迁移到@Configuration并使用XML bean,反之亦然。

我只能想到两个主要的缺点:

  1. 正如你所说 - 滥用系统。
  2. 我在迁移时发现的一个问题是无法使用抽象bean。在XML中,将bean标记为抽象即。 <bean id="someBean" abstract="true">...</bean>会使其成为模板 - 但在迁移容易parent="someBean"的bean时,您无法使用此模板。您必须从XML中复制抽象。