Red de conocimiento informático - Material del sitio web - Cómo inicializar el contenedor Springmvc

Cómo inicializar el contenedor Springmvc

Proceso general de inicialización:

Entonces, echemos un vistazo al diagrama de clases y la relación de herencia del controlador DispatcherServlet.

Primero, defina el servlet en web.xml, con load-on-startup=1: ?

Cuando se inicie el servidor, llame al método init de HttpServletBean para inicializar el servlet: ?

Este método a su vez llama a initSertlvetBean para la inicialización.

initWebApplicationContext es la inicialización del contenedor Spring mvc.

initWebApplicationContext es la inicialización del contenedor Spring mvc.

La implementación del método initFrameworkServlet(); está vacía y puede ser sobrecargada por subclases.

Ahora echemos un vistazo a initWebApplicationContext():?

WebApplicationContext?

WebApplicationContextUtils.getWebApplicationContext(getServletContext());?

Este paso es para obtener el contexto padre, que es el contexto raíz.

CreateWebApplicationContext(parent) es el proceso de inicialización de Spring mvc:?

Este proceso generará una instancia del contenedor Spring MVC XmlWebApplicationContext.

Y configure el contexto principal, configure ServletContext y otra información mediante los siguientes métodos.

El método Refresh reiniciará el contexto e inicializará el Bean: ?

Este proceso es el proceso de inicialización del bean. Podemos entenderlo brevemente:

Obtener y configurar beanFactory.

Registrar MessageSource.

¿Registrar la clase de escucha ApplicationEventMulticaster?

Crear instancias de todos los beans singleton: FinishBeanFactoryInitialization(beanFactory);?

La atención se centra en el último paso, FinishRefresh();, que activará un evento de aplicación:

Vaya a AbstractApplicationContext en código Java.

¿protegido?{

publishEvent(new?ContextRefreshedEvent(this));?

}?

¿Dónde está el objeto XmlWebApplicationContext? . ?