Cómo hacer que la aplicación web Spring MVC realice un procesamiento específico al iniciar
La aplicación Asp.Net realiza algunas operaciones de inicialización en el método Application_Start a través de Global.asax en el directorio raíz, como: precargar pares de elementos de caché Precalentar el sitio web en caliente datos, obtener información de configuración remota, etc.
springframework.beans.factory org.springframework.context.ApplicationContext;
la interfaz pública ApplicationContextAware extiende Aware {
void setApplicationContext(ApplicationContext var1) lanza BeansException;
}
La interfaz ServletContextAware
Paquete org.springframework.web.context;
Importar org.springframework.bean.factory.public interfaz ServletContextAware extiende Aware {
void setServletContext(ServletContext var1);
}
Three.InitializingBean;
importar org.springframework.context.*; p>
p>
importar org.springframework.context.event.ServletContext;
@Component
la clase pública StartupListener implementa ApplicationContextAware, ServletContextAware,
InitializingBean, ApplicationListener
Logger protegido logger = LogManager.info("2 => StartupListener.setServletContext");
}
@ Anular
public void afterPropertiesSet() arroja una excepción {
logger.info("3 => StartupListener.afterPropertiesSet");
}
@Override
public void onApplicationEvent(ContextRefreshedEvent evt) {
logger.info("4.1 => MyApplicationListener.onApplicationEvent"); .getApplicationContext(). setServletContext
3 => StartupListener.afterPropertiesSet
4.1 => MyApplicationListener.onApplicationEvent
4.2 => MyApplicationListener.onApplicationEvent
4.1 => MyApplicationListener.onApplicationEvent
Nota: onApplication
El método ionEvent se activará varias veces. Para operaciones como la inicialización, cuanto antes se active, mejor se recomienda manejar la inicialización en el método setApplicationContext
.