Red de conocimiento informático - Problemas con los teléfonos móviles - Código fuente del contenedor padre-hijo de Spring

Código fuente del contenedor padre-hijo de Spring

En primer lugar, Spring

En primer lugar, según mi propio uso de Spring, sé que Spring no es estrictamente un marco. Actúa como un adhesivo que se adhiere a otros marcos o componentes. Entonces, ¡la primavera es un contenedor! ¿Por qué utilizar primavera? Personalmente, creo que la esencia de Spring es un contenedor, y los componentes del módulo del desarrollo del programa se pueden ensamblar y ensamblar a través de este contenedor. La primavera tiene mucho que ofrecernos.

Funciones de gestión. Además, es un contenedor ligero. A menudo decimos que EJB es pesado y Spring es liviano. Entonces, ¿qué es ligero o pesado?

Adjunto: ligero y pesado (en términos simples)

En primer lugar, ligero y pesado son sólo conceptos relativos. Si no hay contraste, no hay distinción entre ligero y pesado.

Ligero: Cuando se inicia un framework liviano, se crean y destruyen pocos recursos. En definitiva, un framework ligero, muy intrusivo y de bajo acoplamiento. ¡Se puede reemplazar fácilmente sin muchas modificaciones y depende muy poco de otras partes!

Pesado: en comparación con lo liviano, introducir un marco pesado significa introducir bastantes dependencias y otros componentes. Cuando es necesario modificar el marco, ¡básicamente se enfrenta a una crisis de reorganización!

En segundo lugar, SpringMVC

Como se puede ver en el diagrama de estructura de Spring, springMVC se encuentra en Spring.

El marco del lado web es una implementación web basada en Java.

El marco web liviano del patrón de diseño MVC es un tipo basado en solicitudes, aunque las ideas del patrón arquitectónico MVC se utilizan para separar las responsabilidades de la capa web. Adjunto: El controlador basado en solicitudes se refiere al uso del modelo de solicitud-respuesta. En principio, es básicamente lo mismo que MVC. ¡neto!

En tercer lugar, la relación entre Spring y SpringMVC

Como se puede ver en el nombre, Spring y gtSpringMVC, Spring y SpringMVC son en realidad una relación padre-hijo. SpringMVC es un marco extendido por Spring para aplicaciones web. Una cosa a tener en cuenta aquí es cuál es la relación del contenedor padre-hijo:

La función principal de Spring es vincular otros componentes del módulo para una administración unificada, mientras que Springmvc es el principal responsable del lado web. Entonces todo el mundo sabe que se pueden utilizar inyecciones al aplicar resortes. En este momento, si nuestro extremo web usa springMVC, teóricamente el controlador se inyecta a través de SpringMVC, pero también es factible usar la inyección Spring. De la misma manera, también puede utilizar SpringMVC para configurar componentes de escaneo unificados para servicios y otras capas. Por lo tanto, si solo desea utilizar la inyección de dependencia de Spring, no es necesario utilizar Spring MVC y Spring al mismo tiempo. ¡Se pueden separar totalmente!

Sin embargo, aunque tanto springMVC como Spring pueden realizar escaneos de cableado automático, vale la pena señalar que:

Spring (contenedor principal) no puede acceder directamente a los objetos inyectados por springMVC (contenedor secundario). SpringMVC puede acceder a objetos cargados por Spring. Por lo tanto, debe prestar atención a esto al configurar el cableado automático.

Cuarto, Struts

Struts es la implementación perfecta de MVC. Básicamente, es lo mismo que SpringMVC, ambos basados ​​​​en MVC. Sin embargo, después de SpringMVC3,

SpringMVC superó por completo a Struts. (Nota: Sin embargo, no existe diferencia entre las ventajas y desventajas del marco. El marco en sí es una elección, relativamente hablando).

La diferencia entre Struts y SpringMVC:

En primer lugar, si se usa Spring en el proyecto, usemos SpringMVC, porque la integración de Spring y SpringMVC es un vínculo perfecto y fluido. con puntales.

En segundo lugar, la granularidad de interceptación de SpringMVC es un método, mientras que la granularidad de Struts es una clase.

Entonces, la entrada es diferente.

La entrada de SpringMVC es el servlet y Struts es el filtro.

Finalmente, si usa anotaciones, SpringMVC básicamente no tiene configuración, mientras que Struts requiere mucha configuración.

Nota: Una cosa que quiero decir es que el modo de desarrollador se puede configurar en Struts, lo que significa que cuando se modifica un acceso URL, no es necesario reiniciar el proyecto. Pero es necesario reiniciar SpringMVC.