我们可能在春季需要@Configurable的场景?

时间:2012-09-23 09:10:26

标签: spring

我对使用@configurable的必要性有疑问。我已经阅读了解释如何使用@configurable的{​​{3}}。但是我想到的问题是,当我们需要使用@configurable时会出现什么情况。我可以想到两个可能有用的场景

  1. 在遗留项目中,当我们已经使用新运算符创建任何bean时,我们希望对其进行弹簧管理。

  2. 在一个新项目中,我们希望强制执行即使开发人员使用新操作符创建bean,仍然是弹簧管理。

  3. 否则对于新bean,我们总是可以在applicationContext.xml中声明它们,我认为没有必要声明它们@configurable

    如果上述理解是正确的,或者我遗失了什么,请告诉我。

    更新: - 基本上按照我的理解,可配置通常用于在使用new运算符创建对象时注入依赖项。但是当我使用spring

    时,为什么我要使用new运算符创建对象

1 个答案:

答案 0 :(得分:1)

@Configurable注释用于在domain-driven应用程序中注入依赖项。这意味着,在这些应用程序中,域对象相互交互以执行特定操作。

采用以下示例:

在开票应用程序中,Invoice类提供了一个构造函数来创建它,然后它有方法来验证,并最终持久化它。现在,要保留发票,您需要在发票中提供DAO实施。这是您希望注入或定位的依赖项。使用Spring的@Configurable,只要使用new运算符创建发票,就会注入相应的DAO实现,并且可以用于所有持久操作。

我有一个更实时的场景,我使用了here所述的@Configurable注释。