Kontener Spring jest rdzeniem Spring Framework. Kontener tworzy obiekty, łączy je ze sobą, konfiguruje i zarządza ich pełnym cyklem życia od utworzenia do zniszczenia. Kontener Spring używa DI do zarządzania komponentami, które składają się na aplikację. Obiekty te nazywane są Spring Beans, które omówimy w następnym rozdziale.
Kontener pobiera instrukcje na temat tego, jakie obiekty mają być instancjonowane, konfigurowane i montowane, czytając dostarczone metadane konfiguracyjne. Metadane konfiguracyjne mogą być reprezentowane przez XML, adnotacje Java lub kod Java. Poniższy diagram przedstawia wysokopoziomowy widok działania Springa. Kontener Spring IoC korzysta z klas Java POJO i metadanych konfiguracyjnych, aby stworzyć w pełni skonfigurowany i wykonywalny system lub aplikację.
Spring dostarcza następujące dwa odrębne typy kontenerów.
Sr.No. | Kontener & Opis |
---|---|
1 | Spring BeanFactory Container
Jest to najprostszy kontener zapewniający podstawowe wsparcie dla DI i jest zdefiniowany przez interfejs org.springframework.beans.factory.BeanFactory. BeanFactory i związane z nim interfejsy, takie jak BeanFactoryAware, InitializingBean, DisposableBean, są nadal obecne w Springu w celu zapewnienia wstecznej kompatybilności z dużą liczbą frameworków firm trzecich, które integrują się ze Springiem. |
2 | Spring ApplicationContext Container
Kontener ten dodaje więcej funkcjonalności specyficznych dla przedsiębiorstwa, takich jak zdolność do rozwiązywania wiadomości tekstowych z pliku właściwości i zdolność do publikowania zdarzeń aplikacji do zainteresowanych słuchaczy zdarzeń. Kontener ten jest definiowany przez interfejs org.springframework.context.ApplicationContext. |
Kontener ApplicationContext zawiera całą funkcjonalność kontenera BeanFactory, dlatego jest on ogólnie zalecany zamiast BeanFactory. BeanFactory może być nadal używany do lekkich aplikacji, takich jak urządzenia mobilne lub aplikacje oparte na apletach, gdzie ilość i szybkość danych jest znacząca.