Что означает «Контейнер» в контексте программирования? - PullRequest
11 голосов
/ 16 марта 2012

Я изучаю Spring, и в тексте часто появляется термин «Spring Container».Тем не менее, я знаю, что «контейнер» не используется только в Spring (EJB-контейнер и т. Д.), Так что он означает, когда используется в контексте программирования?

Ответы [ 3 ]

17 голосов
/ 16 марта 2012

Контейнер - это то, что содержит что-то еще.

  • In : контейнер Spring содержит bean-объектов (объекты Java, на которые распространяется )

  • Контейнеры сервлетов содержат сервлетов, фильтров, прослушивателей и т. Д. И управляют их состоянием и жизненным циклом. Также есть похожие контейнеры

  • Контейнеры EJB содержат EJB (без сохранения состояния, с состоянием, управляемыми сообщениями) и, как указано выше, управляют их пулами и жизненным циклом

  • java.awt.Container " - это компонент, который может содержать другие компоненты AWT "

Как видите, роль контейнера заключается в владении и управлении набором объектов, поэтому вам не нужно создавать их экземпляры напрямую.

1 голос
/ 16 марта 2012
A Web application runs within a Web container of a Web server.The Web container 
provides the runtime environment through components that provide naming context 
and life cycle management. 

Пример. Контейнером в случае java является среда выполнения и реализация API, предоставляемая java.
Как
1. Контейнер сервлетов отвечает за управление жизненным циклом сервлетов.

1 голос
/ 16 марта 2012

То, что вы спрашиваете, немного неясно для меня. Я полагаю, вы спрашиваете, что вообще делают "контейнеры".

Я понимаю, что контейнер - это пул, управляющий серией объектов / бинов. Например, есть веб-контейнер TOMCAT, общий контейнер IoC в Spring или даже пул потоков, который также имеет сходства. Контейнер имеет дело главным образом со всем, что в нем содержится, например с жизненным циклом, зависимостью между каждым объектом. И нам нужно просто сгенерировать объект, поместить его в контейнер и получить, когда это необходимо.

Желаю, чтобы это помогло.

...