在Spring中,scope =“singleton”和singleton =“true”

时间:2016-10-07 07:01:28

标签: spring

在一次采访中,我遇到了这个问题。在spring配置文件中,如果我们给scope =“singleton”会发生什么,而singleton =“true”会发生什么。

1 个答案:

答案 0 :(得分:2)

好吧,在Spring 1.x中只有两个范围, prototype singleton ,因此只有singleton=true或{{1} }。引用DTD:

  

Bean实例可以是“单例”(共享实例)或“原型”       (独立实例)。进一步的范围应该建立在顶部       核心BeanFactory基础设施,因此不属于它。

Source

但是,这不允许他们引入其他范围,因此他们将Spring 2中的DTD更改为singleton=falsescope="singleton"。这使他们也可以引入其他范围,例如scope="prototype"scope="session"。您可以在DTD of Spring 2及之后验证这一点。

所以,回答你的问题,通常它们应该是相同的,但是在Spring的不同版本中。