Cómo obtener el objeto de la aplicación

Guarde la aplicación en una clase estática

Escriba una clase para heredar ContextLoaderListener, obtenga el ApplicationContext y luego inyéctelo en la variable estática de una clase de herramienta y luego obtengalo a través de la clase de herramienta ApplicationContext.

Código específico: /**

* Subclase ContextLoaderListener.

* Asignar ApplicationContext a la variable estática Context de SpringContextUtil.

* /

clase pública ContextLoaderListener extiende org.springframework.web.context.ContextLoaderListener {

contexto vacío públicoInitialized(evento ServletContextEvent) {

contexto ServletContext = evento. ();

super.contextInitialized(evento);

ApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(context);

SpringContextUtil.setApplicationContext(ctx);< / p>

}

}

**

* Guarde la variable estática ApplicationContext cargada por ContextLoadListener

* e implemente el delegación de la interfaz BeanFactory para simplificar las llamadas al código del cliente.

*/

clase pública SpringContextUtil {

contexto de ApplicationContext estático privado;

vacío estático público setApplicationContext(ApplicationContext acx) {

p>

contexto = acx;

}

public static ApplicationContext getApplicationContext() {

contexto de retorno

}

Objeto estático público getBean(nombre de cadena) lanza BeansException {

return context.getBean(nombre); p> objeto estático público getBean(nombre de cadena, tipo requerido de clase) lanza BeansException {

return contexto.getBean(nombre, tipo requerido);

}

estático público boolean contieneBean(nombre de cadena) {

return contexto.containsBean(nombre);

}

booleano estático público isSingleton(nombre de cadena) lanza NoSuchBeanDefinitionException {

return context.isSingleton(nombre);

}

clase pública estática getType(nombre de cadena) lanza NoSuchBeanDefinitionException {

return context.getType (nombre);

}

cadena estática pública[] getAliases(nombre de cadena) lanza NoSuchBeanDefinitionException {

return context.getAliases(nombre);

}

}

Configurar el detector de Spring en web.xml

lt;!--Spring Context loader--gt;

lt;listenergt;

lt;listener classgt;com.ffcs.common.spring.ContextLoaderListenerlt;/liste

ner-classgt;

lt;/listenergt;