>br>
O contentor da Primavera está no núcleo da Estrutura da Primavera. O contentor irá criar os objectos, ligá-los, configurá-los e gerir o seu ciclo de vida completo desde a criação até à destruição. O contentor de molas utiliza DI para gerir os componentes que compõem uma aplicação. Estes objectos são chamados Spring Beans, que discutiremos no próximo capítulo.
O contentor recebe as suas instruções sobre quais os objectos a instanciar, configurar e montar, lendo os metadados de configuração fornecidos. Os metadados de configuração podem ser representados ou por XML, anotações Java, ou código Java. O diagrama seguinte representa uma visão de alto nível de como a Primavera funciona. O contentor Spring IoC faz uso das classes e metadados de configuração Java POJO para produzir um sistema ou aplicação totalmente configurado e executável.
p>Spring fornece os seguintes dois tipos distintos de contentores.
Sr.No. | Container & Description |
---|---|
1 | Spring BeanFactory Container
Este é o recipiente mais simples que fornece o suporte básico para DI e é definido pela interface org.springframework.beans.factory.BeanFactory. O BeanFactory e interfaces relacionadas, tais como BeanFactoryAware, InitializingBean, DisposableBean, ainda estão presentes na Primavera para efeitos de retrocompatibilidade com um grande número de estruturas de terceiros que se integram com a Primavera. |
2 | Spring ApplicationContext Container
Este contentor acrescenta funcionalidades mais específicas da empresa, tais como a capacidade de resolver mensagens textuais de um ficheiro de propriedades e a capacidade de publicar eventos de aplicação para os ouvintes de eventos interessados. Este contentor é definido pelo org.springframework.context.ApplicationContext interface. |
O contentor ApplicationContext inclui todas as funcionalidades do contentor BeanFactorycontainer, pelo que é geralmente recomendado sobre o BeanFactory. BeanFactory ainda pode ser utilizado para aplicações leves como dispositivos móveis ou aplicações baseadas em maçãs, onde o volume de dados e a velocidade são significativos.