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.
- Herramientas para desarrolladores web de Chrome o Firebug, ¿cuál es su herramienta favorita para el desarrollo web? ¿Y por qué?
- ¿Cuáles son las mejores herramientas para construir una plataforma IoT escalable?
- En las aplicaciones web basadas en Python, ¿para qué ha usado las 'señales'?
- ¿Qué paquete tecnológico utilizarías para crear una aplicación web de votación / intercambio de imágenes para organizaciones y por qué?
- ¿Cuáles son las diferencias clave entre PHP y Perl?
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:
- 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.
- Spring Bean: este módulo proporciona implementación para el patrón de diseño de fábrica a través de BeanFactory.
- 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.
- 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:
- JDBC: este módulo proporciona Capa de abstracción JDBC que elimina la necesidad de sobrecarga de manejo de excepciones repetitivas e innecesarias.
- 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.
- 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.
- JMS: JMS significa J ava M essaging S ervice. Este módulo contiene características para producir y consumir mensajes entre varios clientes.
- 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:
- 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.
- 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.
- 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.
- 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.