IoC Container

O contentor IoC é responsável por instanciar, configurar e montar os objectos. O contentor de IoC obtém informações do ficheiro XML e funciona em conformidade. As principais tarefas executadas pelo contentor de IoC são:

  • instanciar a classe de aplicação
  • configurar o objecto
  • montar as dependências entre os objectos

Existem dois tipos de contentores de IoC. São:

  1. BeanFactory
  2. ApplicationContext

Diferença entre BeanFactory e o ApplicationContext

O org.springframework.beans.factory.BeanFactory e o org.springframework.context.ApplicationContext actua como o contentor de IoC. A interface ApplicationContext é construída em cima da interface BeanFactory. Acrescenta algumas funcionalidades extra ao BeanFactory, tais como integração simples com o AOP da Primavera, manipulação de recursos de mensagens (para I18N), propagação de eventos, contexto específico da camada de aplicação (por exemplo WebApplicationContext) para aplicação web. Portanto, é melhor utilizar ApplicationContext do que BeanFactory.

Using BeanFactory

O XmlBeanFactory é a classe de implementação para a interface BeanFactory. Para utilizar o BeanFactory, precisamos de criar a instância da classe XmlBeanFactory como indicado abaixo:

O construtor da classe XmlBeanFactory recebe o objecto Recurso, pelo que precisamos de passar o objecto Recurso para criar o objecto BeanFactory.

Using ApplicationContext

A classe ClassPathXmlApplicationContext é a classe de implementação da interface ApplicationContext. Precisamos de instanciar a classe ClassPathXmlApplicationContext para utilizar a classe ApplicationContext como indicado abaixo:

O construtor da classe ClassPathXmlApplicationContext recebe string, para que possamos passar o nome do ficheiro xml para criar a instância de ApplicationContext.