Spring Framework - Arquitectura
Spring podría ser una ventanilla única para todas sus aplicaciones empresariales. Sin embargo, Spring es modular, lo que le permite elegir qué módulos se aplican a usted, sin tener que traer el resto. La siguiente sección proporciona detalles sobre todos los módulos disponibles en Spring Framework.
Spring Framework proporciona alrededor de 20 módulos que se pueden usar según los requisitos de la aplicación.
Contenedor central
El Contenedor principal consta de los módulos Core, Beans, Context y Expression Language, cuyos detalles son los siguientes:
los Core proporciona las partes fundamentales del marco, incluidas las funciones de inyección de dependencia y de IoC.
los Bean proporciona BeanFactory, que es una implementación sofisticada del patrón de fábrica.
los ContextEl módulo se basa en la base sólida proporcionada por los módulos Core y Beans y es un medio para acceder a cualquier objeto definido y configurado. La interfaz ApplicationContext es el punto focal del módulo Context.
los SpEL proporciona un poderoso lenguaje de expresión para consultar y manipular un gráfico de objetos en tiempo de ejecución.
Acceso / integración de datos
La capa de Acceso / Integración de Datos consta de los módulos JDBC, ORM, OXM, JMS y Transacción cuyo detalle es el siguiente -
los JDBC El módulo proporciona una capa de abstracción JDBC que elimina la necesidad de codificación tediosa relacionada con JDBC.
los ORM El módulo proporciona capas de integración para las API de mapeo relacional de objetos populares, que incluyen JPA, JDO, Hibernate e iBatis.
los OXM El módulo proporciona una capa de abstracción que admite implementaciones de mapeo de objetos / XML para JAXB, Castor, XMLBeans, JiBX y XStream.
El servicio de mensajería Java JMS El módulo contiene funciones para producir y consumir mensajes.
los Transaction El módulo admite la gestión de transacciones programática y declarativa para clases que implementan interfaces especiales y para todos sus POJO.
Web
La capa Web consta de los módulos Web, Web-MVC, Web-Socket y Web-Portlet, cuyos detalles son los siguientes:
los Web El módulo proporciona funciones básicas de integración orientadas a la web, como la funcionalidad de carga de archivos de varias partes y la inicialización del contenedor de IoC mediante oyentes de servlets y un contexto de aplicación orientado a la web.
los Web-MVC El módulo contiene la implementación de Spring's Model-View-Controller (MVC) para aplicaciones web.
los Web-Socket El módulo proporciona soporte para la comunicación bidireccional basada en WebSocket entre el cliente y el servidor en aplicaciones web.
los Web-Portlet El módulo proporciona la implementación de MVC para su uso en un entorno de portlet y refleja la funcionalidad del módulo Web-Servlet.
Diverso
Hay algunos otros módulos importantes como AOP, Aspects, Instrumentation, Web y Test, cuyos detalles son los siguientes:
los AOP El módulo proporciona una implementación de programación orientada a aspectos que le permite definir interceptores de métodos y cortes de puntos para desacoplar claramente el código que implementa la funcionalidad que debe separarse.
los Aspects El módulo proporciona integración con AspectJ, que es de nuevo un marco AOP potente y maduro.
los Instrumentation El módulo proporciona soporte de instrumentación de clases e implementaciones de cargador de clases para su uso en ciertos servidores de aplicaciones.
los MessagingEl módulo proporciona soporte para STOMP como subprotocolo WebSocket para usar en aplicaciones. También admite un modelo de programación de anotaciones para enrutar y procesar mensajes STOMP de clientes WebSocket.
los Test El módulo admite la prueba de componentes Spring con marcos JUnit o TestNG.