logo

Contêiner IoC

  1. Contêiner IoC
  2. Usando BeanFactory
  3. Usando ApplicationContext

O contêiner IoC é responsável por instanciar, configurar e montar os objetos. O contêiner IoC obtém informações do arquivo XML e funciona de acordo. As principais tarefas executadas pelo contêiner IoC são:

  • para instanciar a classe do aplicativo
  • para configurar o objeto
  • para montar as dependências entre os objetos

Existem dois tipos de contêineres IoC. Eles são:

    Fábrica de feijão ApplicationContext

Diferença entre BeanFactory e ApplicationContext

Oorg.springframework.beans.factory. Fábrica de feijão e o org.springframework.context. ApplicationContext interfaces atua como o contêiner IoC. A interface ApplicationContext é construída sobre a interface BeanFactory. Ele adiciona algumas funcionalidades extras do BeanFactory, como integração simples com AOP do Spring, manipulação de recursos de mensagens (para I18N), propagação de eventos, contexto específico da camada de aplicativo (por exemplo, WebApplicationContext) para aplicativos da web. Portanto, é melhor usar ApplicationContext do que BeanFactory.

Usando BeanFactory

O XmlBeanFactory é a classe de implementação da interface BeanFactory. Para usar o BeanFactory, precisamos criar a instância da classe XmlBeanFactory conforme fornecido abaixo:

 Resource resource=new ClassPathResource('applicationContext.xml'); BeanFactory factory=new XmlBeanFactory(resource); 

O construtor da classe XmlBeanFactory recebe o objeto Resource então precisamos passar o objeto de recurso para criar o objeto de BeanFactory.


Usando ApplicationContext

A classe ClassPathXmlApplicationContext é a classe de implementação da interface ApplicationContext. Precisamos instanciar a classe ClassPathXmlApplicationContext para usar o ApplicationContext conforme fornecido abaixo:

 ApplicationContext context = new ClassPathXmlApplicationContext('applicationContext.xml'); 

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

baixe o exemplo para usar ApplicationContext