我对使用@configurable
的必要性有疑问。我已经阅读了解释如何使用@configurable
的{{3}}。但是我想到的问题是,当我们需要使用@configurable
时会出现什么情况。我可以想到两个可能有用的场景
在遗留项目中,当我们已经使用新运算符创建任何bean时,我们希望对其进行弹簧管理。
在一个新项目中,我们希望强制执行即使开发人员使用新操作符创建bean,仍然是弹簧管理。
否则对于新bean,我们总是可以在applicationContext.xml中声明它们,我认为没有必要声明它们@configurable
。
如果上述理解是正确的,或者我遗失了什么,请告诉我。
更新: - 基本上按照我的理解,可配置通常用于在使用new运算符创建对象时注入依赖项。但是当我使用spring
时,为什么我要使用new运算符创建对象答案 0 :(得分:1)
@Configurable
注释用于在domain-driven
应用程序中注入依赖项。这意味着,在这些应用程序中,域对象相互交互以执行特定操作。
采用以下示例:
在开票应用程序中,Invoice
类提供了一个构造函数来创建它,然后它有方法来验证,并最终持久化它。现在,要保留发票,您需要在发票中提供DAO
实施。这是您希望注入或定位的依赖项。使用Spring的@Configurable
,只要使用new
运算符创建发票,就会注入相应的DAO实现,并且可以用于所有持久操作。
我有一个更实时的场景,我使用了here所述的@Configurable
注释。