Весна: есть или есть контейнер? - PullRequest
0 голосов
/ 16 июня 2011

Как это правильно:

"Spring - это вообще контейнер, который управляет объектами ..."

или

"Spring использует / содержит контейнер, который управляет объектами ...."

Я имею в виду, что контейнер IoC является частью Spring Framework, верно? Или вы могли бы сказать, что Spring - это контейнер?

Спасибо: -)

[Spring Framework 3.0.5]

1 Ответ

3 голосов
/ 16 июня 2011

Spring - это структура, которая следует парадигме инверсии контроля. Инверсия управления - это принцип (детали реализации не имеют значения) - «инверсия» - это когда вы подключаете свои компоненты вне кода в конфигурации. Есть много способов сделать это. Аналогия будет объектно-ориентированным программированием. Object Oriented - это парадигма, как и IoC, с множеством способов сделать это. Как и в случае с ОО, есть детали, которые вы должны знать, но парадигма существует на более высоком уровне.

Spring - это фреймворк, потому что он включает в себя множество библиотек, облегчающих вашу жизнь. Здесь детали имеют значение; вам нужно знать, как их использовать JmsTemplate или TransactionTemplate.

Ваш вопрос в первую очередь о том, какие слова лучше всего использовать при описании Spring, что является ценным вопросом. Теперь посмотрите на эту картинку, взятую из здесь .

enter image description here

Во-первых, слова высокого уровня включают РАМКА . Существует также логическая часть приложения, называемая контейнером, которая далее делится на его компоненты. Документация для контейнера здесь . Когда люди говорят о Spring, они в первую очередь говорят, что это фреймворк и контейнер IoC, в зависимости от того, как они его используют. Возможно, правильно сказать, что Spring - это Framework, включающий контейнер IoC.

Важно то, что вы можете использовать части Spring Framework, которые не имеют ничего общего с IoC, только часть IoC или оба.

...