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>
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 { p>
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;