Tabla de contenidos
Spring Framework es un marco ligero de código abierto para Java. Mediante la inyección de dependencias y la programación orientada a aspectos, se pretende que el código del programa sea más fácil y más fácil de mantener en general.
Spring Framework es un marco modular para Java o Java Platform, Enterprise Edition (Java EE / J2EE). Se considera muy ligero y es un proyecto de código abierto. El objetivo del marco es reducir significativamente la complejidad de la plataforma Java.
Esto debería hacer que el desarrollo de Java sea más claro y eficiente, también en comparación con Enterprise JavaBeans. El código fuente se vuelve más corto, lo que a su vez significa menos esfuerzo, por ejemplo, medios para cambios posteriores. Se usa más comúnmente para programar aplicaciones web en Java, pero generalmente se puede usar para cualquier tipo de aplicación.
Modelo de programación basado en simples objetos Java antiguos
Plain Old Java Objects (POJO) son clases de Java simples y ligeras en Java que solo implementan los conceptos básicos de la especificación de Java. En Spring Framework, los POJO se pueden usar para, por ejemplo, mapear la lógica empresarial.
Interfaces e inyección de dependencias
En Spring Framework, las interfaces se utilizan para crear una arquitectura desacoplada. Con Dependency Injection también mantiene la configuración de todas las dependencias fuera del código fuente real. El resultado es un código muy reducido con solo componentes de sistema débilmente acoplados.
Programación Orientada a Aspectos
La programación orientada a aspectos (AOP) permite estructurar las interrelaciones que existen entre los componentes. Estas relaciones se llaman aspectos. De esta manera, la secuencia real del programa se puede separar de manera más clara de otros aspectos (por ejemplo, validación, manejo de errores) y el proyecto se puede estructurar de manera más modular.
Trabajar con plantillas
Las plantillas en Spring Framework son clases que se pueden usar para interfaces de programa (API). Las plantillas también ofrecen ciertas funciones de conveniencia, como el manejo uniforme de errores y la administración automática de recursos, que están destinadas a simplificar el trabajo con las interfaces del programa.
Los módulos de un vistazo
Spring Framework tiene una estructura modular para que pueda elegir libremente qué módulos desea usar en el trabajo. El marco contiene alrededor de 20 módulos diferentes que se pueden dividir en seis categorías.
Contenedor de núcleos
Aquí es donde se pueden encontrar los módulos centrales de Spring Framework. Esto incluye, por ejemplo, la función de inyección de dependencia, el soporte de POJO o la capacidad de integrar bibliotecas de terceros.
AOP e instrumentación
El módulo contiene funcionalidades esenciales para la programación orientada a aspectos y ofrece integración para el lenguaje AspectJ. Además, se proporcionan funcionalidades para manipular el código de bytes en tiempo de ejecución.
Mensajería
Para aplicaciones que funcionan en base a mensajes, este módulo ofrece algunas funciones del Proyecto de Integración de Spring. También permite la asignación de mensajes a métodos.
Acceso / integración de datos
Este módulo trata sobre la comunicación, la interacción y el acceso a datos entre la aplicación Spring Framework y otras aplicaciones. Una capa de abstracción para el acceso a la base de datos facilita por ejemplo el acceso por lo demás algo engorroso a las bases de datos.
Aquí también se incluye una integración de interfaces ORM para bases de datos relacionales. También hay capas de abstracción para el mapeo de objetos / XML y el procesamiento de mensajes, así como la gestión de transacciones para clases y POJO.
Web
Este módulo proporciona tecnologías básicas para la web como: WebSockets, REST Web Services, una función para cargas de varias partes o tu propio marco Spring MVC.
Tests
Aquí encontrarás todos los componentes necesarios para las pruebas unitarias y las pruebas de integración. El módulo de prueba también puede proporcionar objetos simulados con fines de prueba.