Spring:HAS还是IS容器?

时间:2011-06-16 12:13:58

标签: spring frameworks ioc-container

如何纠正:

“Spring通常是一个管理对象的容器......”

“Spring使用/包含一个管理对象的容器....”

我的意思是,IoC Container是Spring Framework的一部分,对吧?或者你能说,Spring是一个容器吗?

谢谢: - )

[Spring Framework 3.0.5]

1 个答案:

答案 0 :(得分:3)

Spring是遵循控制反转范式的框架。控制反转是一个原则(实现细节无关紧要) - “反转”是指在配置之外将bean连接到代码之外。有很多方法可以做到这一点。类比是面向对象的编程。面向对象是一种范例,就像IoC一样,有很多方法可以做到。就像OO一样,你应该知道细节,但范式存在于更高层次。

Spring是一个框架,因为它包含了许多库,可以让您的生活更轻松。这里的细节很重要;您需要知道JmsTemplate或TransactionTemplate如何使用它们。

你的问题主要是关于在描述Spring时使用的最好的词,这是一个有价值的问题。现在看看这张照片,取自here

enter image description here

首先,高级词包括 FRAMEWORK 。还有一个名为容器的应用程序的逻辑部分,它进一步划分为其组件。容器的文档是here。当人们谈论Spring时,他们主要说它是一个框架和一个IoC容器,这取决于它们如何使用它。也许准确地说Spring是一个包含IoC容器的框架。

重要的是你可以使用与IoC无关的部分Spring框架,只有IoC部分,或两者兼而有之。