¿Cuáles son los módulos de Spring Framework obligatorios para el desarrollo web?

Hola,

Como ya sabrán, ” Spring Framework es un potente y ligero framework de desarrollo de aplicaciones utilizado para Enterprise Java (JEE)”, es decir, para el desarrollo de aplicaciones web utilizamos Spring Framework. Spring Framework es una herramienta integral para admitir aplicaciones que utilizan lenguaje de programación Java. La arquitectura Spring Framework es una arquitectura organizada en capas que consta de diferentes módulos, a continuación se muestra un diagrama que representa la arquitectura de Spring Framework.

Todos los módulos tienen sus propias funcionalidades que se utilizan para construir una aplicación. Hay alrededor de 20 módulos que se generalizan en Core Container , Acceso / integración de datos , Web , AOP (Programación orientada a aspectos), Instrumentación y Prueba . Aquí, el desarrollador es libre de elegir el módulo requerido. Su arquitectura modular permite la integración con otros marcos sin mucha molestia.

Permítanme explicar estos módulos en detalle.

Contenedor central

Este contenedor tiene los siguientes cuatro módulos:

  1. Spring Core: este módulo es el núcleo de Spring Framework. Proporciona implementación para características como IoC (Inversion of Control) e Dependency Injection con patrón de diseño singleton.
  2. Spring Bean: este módulo proporciona implementación para el patrón de diseño de fábrica a través de BeanFactory.
  3. Contexto Spring: este módulo está construido sobre la base sólida proporcionada por los módulos Core y Beans y es un medio para acceder a cualquier objeto definido y configurado.
  4. Spring Expression Languages ​​(SpEL): este módulo es una extensión del lenguaje de expresión compatible con las páginas del servidor Java. Proporciona un lenguaje de expresión potente para consultar y manipular un gráfico de objeto, en tiempo de ejecución.

Spring Data Access / Integration

Consta de los siguientes cinco módulos:

  1. JDBC: este módulo proporciona Capa de abstracción JDBC que elimina la necesidad de sobrecarga de manejo de excepciones repetitivas e innecesarias.
  2. ORM: ORM son las siglas de O bject R elational M apping. Este módulo proporciona consistencia / portabilidad a nuestro código independientemente de las tecnologías de acceso a datos basadas en el concepto de mapeo orientado a objetos.
  3. OXM: OXM significa O bject X ML M aparece. Se utiliza para convertir los objetos en formato XML y viceversa. Spring OXM proporciona una API uniforme para acceder a cualquiera de estos marcos OXM.
  4. JMS: JMS significa J ava M essaging S ervice. Este módulo contiene características para producir y consumir mensajes entre varios clientes.
  5. Transacción: este módulo admite la gestión de transacciones programática y declarativa para clases que implementan interfaces especiales y para todos sus POJO. Todos los conceptos de implementación de transacciones a nivel de empresa pueden implementarse en Spring usando este módulo.

Web de primavera

La capa web incluye los siguientes módulos:

  1. Web : este módulo que utiliza escuchas de servlet y un contexto de aplicación orientado a la web, proporciona características básicas de integración orientada a la web, como la funcionalidad de carga de archivos de varias partes y la inicialización del contenedor IoC.
  2. Web-Servlet : este módulo contiene la implementación basada en Model-View-Controller (MVC) para aplicaciones web. Proporciona todas las demás características de MVC, incluidas las etiquetas de interfaz de usuario y las validaciones de datos.
  3. Web-Socket: este módulo proporciona soporte para la comunicación basada en WebSocket y bidireccional entre el cliente y el servidor en aplicaciones web.
  4. Web-Portlet: este módulo también se conoce como módulo Spring-MVC-Portlet. Proporciona el soporte para Portlets basados ​​en Spring y refleja la funcionalidad de un módulo de Servlet Web.

Programación Orientada a Aspectos (AOP)

El lenguaje AOP es una herramienta poderosa que permite a los desarrolladores agregar funcionalidad empresarial a la aplicación, como transacciones, seguridad, etc. Nos permite escribir menos código y separar la lógica del código. AOP utiliza preocupaciones transversales .

Instrumentación

Este módulo proporciona soporte de instrumentación de clase e implementaciones de cargador de clase que se utilizan en ciertos servidores de aplicaciones.

Prueba

Este módulo admite la prueba de componentes Spring con JUnit o TestNG. Proporciona una carga constante de Spring ApplicationContexts y el almacenamiento en caché de esos contextos. También proporciona objetos simulados que podemos usar para probar nuestro código de forma aislada.

Espero que esto ayude. Si desea aprender Spring Framework de expertos de la industria, puede consultar aquí: Curso de Certificación Spring | Edureka

Para saber más sobre Spring puedes ver este video tutorial.

Gracias por A2A. Para el Proyecto Web, en primer lugar, debe saber cómo funciona la arquitectura MVC (conceptos básicos) que incluye Spring MVC. Publica que espero que estés al tanto de los conceptos básicos de Spring como IOC, DI, Creación de objetos de modo. Aparte de que AOP, Seguridad y todo depende de los requisitos de su proyecto. Intente aprender REST también porque Spring tiene una gran demanda con REST.

Pero para lo básico Web Dev. Spring MVC y las características básicas de Spring son suficientes para practicar.

Lo primero es que debe comprender conceptos como la inyección de dependencias, qué es un POJO (objeto Java antiguo simple), cómo realizar la implementación en el servidor, etc.

Si ha terminado con lo básico, vaya a Spring MVC y entienda cómo funciona una arquitectura de controlador de vista de modelo.

Más tarde algunas cosas en spring core / AOP.

Pero hay algo que se llama Spring Boot, que puede aprender rápidamente y desarrollar aplicaciones web. Su objetivo es la configuración cero y viene con tomcat incorporado.

Puede seguir algunos tutoriales rápidos que lo ayudan a ejecutar su aplicación web / controlador REST.

Aprendizaje y enseñanza: configuración del entorno para crear un proyecto de arranque Spring

Aprendizaje y enseñanza: crear y ejecutar una aplicación Spring Boot

Aprendizaje y enseñanza: diseccionar y comprender una aplicación Spring Boot

Aprendizaje y enseñanza 2017: aprenda a agregar un @RestController y obtenga una respuesta JSON

Contenedor de servlet tomcat integrado en el maletero

Estos son videos cortos con los que puedes entenderlo bien

¡Sigue aprendiendo y mantente motivado!

Abhishek

More Interesting

¿Cuáles son las aplicaciones web más impresionantes creadas por los estudiantes mientras asisten a escuelas de codificación como Flatiron School, Fullstack Academy, DigitalCrafts, MakerSquare, Hack Reactor, Dev Bootcamp, etc.?

¿Hay alguna aplicación o aplicación web que pueda usar para rastrear si mi equipo de marketing / ventas está llamando para hacer un seguimiento con los clientes?

Ruby / Rails vs Python / Flask: ¿cuál es el mejor para crear una aplicación web de visualización de datos?

¿Cómo gestionan las grandes aplicaciones web a los usuarios y sus datos?

¿Hay alguna competencia entre Quora y Facebook? ¿Por qué?

Si tuviera que crear una aplicación de chat escalable y concurrente en Java, ¿cómo la diseñaría?

¿Cuál es un ejemplo de una aplicación Sinatra de código abierto que está bien organizada?

Cómo sentirse sobre la gran arquitectura de Angular

¿Dónde puedo encontrar Tutoriales para desarrollar una aplicación web usando django, para alojar en el motor de aplicaciones de Google?

¿Cómo puede un sitio de citas generar zumbido viralmente?

¿Cuál es el mejor libro para iniciar el pentesting de aplicaciones web?

¿Dónde puedo encontrar tutoriales de programación gratuitos en línea donde las aplicaciones y proyectos web reales se construyen en los tutoriales?

¿Cuál es la diferencia entre el desarrollo web en Java y el desarrollo de aplicaciones web en Java?

¿Cuáles son las características esenciales de todas las aplicaciones web?

Para las nuevas empresas de Internet, ¿ya no es una opción hacer una aplicación web?