Spring ApplicationContext Container
O Application Context é o contêiner avançado do Spring. Semelhante ao BeanFactory, ele pode carregar definições de bean, wire beans juntos e dispensar beans mediante solicitação. Além disso, ele adiciona mais funcionalidades específicas da empresa, como a capacidade de resolver mensagens textuais de um arquivo de propriedades e a capacidade de publicar eventos de aplicativos para ouvintes de eventos interessados. Este contêiner é definido pela interface org.springframework.context.ApplicationContext .
O ApplicationContext inclui todas as funcionalidades do BeanFactory , geralmente é recomendado ao invés do BeanFactory. BeanFactory ainda pode ser usado para aplicativos leves, como dispositivos móveis ou aplicativos baseados em miniaplicativos.
As implementações ApplicationContext mais comumente usadas são -
FileSystemXmlApplicationContext- Este contêiner carrega as definições dos beans de um arquivo XML. Aqui você precisa fornecer o caminho completo do arquivo de configuração do bean XML para o construtor.
ClassPathXmlApplicationContext- Este contêiner carrega as definições dos beans de um arquivo XML. Aqui, você não precisa fornecer o caminho completo do arquivo XML, mas precisa definir CLASSPATH corretamente porque esse contêiner se parecerá com o arquivo XML de configuração de bean em CLASSPATH.
WebXmlApplicationContext - Este contêiner carrega o arquivo XML com definições de todos os beans de um aplicativo da web.
Já vimos um exemplo no contêiner ClassPathXmlApplicationContext no Spring Hello World Example , e falaremos mais sobre XmlWebApplicationContext em um capítulo separado, quando discutiremos aplicativos Spring baseados na web. Portanto, vamos ver um exemplo em FileSystemXmlApplicationContext.
Exemplo
Vamos ter um Eclipse IDE funcionando e realizar as seguintes etapas para criar um aplicativo Spring -
Passos | Descrição |
---|---|
1 | Crie um projeto com um nome SpringExample e crie um pacote com.tutorialspoint sob osrc pasta no projeto criado. |
2 | Adicione as bibliotecas Spring necessárias usando a opção Adicionar JARs externos conforme explicado no capítulo Exemplo do Spring Hello World . |
3 | Crie classes Java HelloWorld e MainApp no pacote com.tutorialspoint . |
4 | Crie o arquivo de configuração do Beans Beans.xml sob osrc pasta. |
5 | A etapa final é criar o conteúdo de todos os arquivos Java e do arquivo de configuração do Bean e executar o aplicativo conforme explicado abaixo. |
Aqui está o conteúdo de HelloWorld.java arquivo -
package com.tutorialspoint;
public class HelloWorld {
private String message;
public void setMessage(String message){
this.message = message;
}
public void getMessage(){
System.out.println("Your Message : " + message);
}
}
A seguir está o conteúdo do segundo arquivo MainApp.java -
package com.tutorialspoint;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
public class MainApp {
public static void main(String[] args) {
ApplicationContext context = new FileSystemXmlApplicationContext
("C:/Users/ZARA/workspace/HelloSpring/src/Beans.xml");
HelloWorld obj = (HelloWorld) context.getBean("helloWorld");
obj.getMessage();
}
}
A seguir, dois pontos importantes devem ser observados sobre o programa principal -
A primeira etapa é criar um objeto de fábrica onde usamos a API do frameworkFileSystemXmlApplicationContextpara criar o bean de fábrica após carregar o arquivo de configuração do bean a partir do caminho fornecido. oFileSystemXmlApplicationContext()API se encarrega de criar e inicializar todos os objetos, ou seja. beans mencionados no arquivo de configuração do bean XML.
A segunda etapa é usada para obter o bean necessário usando getBean()método do contexto criado. Este método usa o ID do bean para retornar um objeto genérico, que finalmente pode ser convertido para o objeto real. Depois de ter um objeto, você pode usar esse objeto para chamar qualquer método de classe.
A seguir está o conteúdo do arquivo de configuração do bean Beans.xml
<?xml version = "1.0" encoding = "UTF-8"?>
<beans xmlns = "http://www.springframework.org/schema/beans"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id = "helloWorld" class = "com.tutorialspoint.HelloWorld">
<property name = "message" value = "Hello World!"/>
</bean>
</beans>
Assim que terminar de criar os arquivos de configuração de código-fonte e bean, vamos executar o aplicativo. Se estiver tudo bem com o seu aplicativo, ele imprimirá a seguinte mensagem -
Your Message : Hello World!