Marco de primavera

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 5 de julio de 2019; las comprobaciones requieren 16 ediciones .
marco de primavera
Tipo de marco de aplicación
Desarrollador Software fundamental
Escrito en Java , Kotlin y Groovy
Sistema operativo Software multiplataforma
Primera edición 1 de octubre de 2002
plataforma de hardware Java
ultima versión
Estado Activo
Licencia Licencia Apache 2.0
Sitio web primavera.io
 Archivos multimedia en Wikimedia Commons

Spring Framework (o Spring para abreviar ) es un marco universal de código abierto para la plataforma Java . También hay una bifurcación de .NET Framework llamada Spring.NET [2] .

La primera versión fue escrita por Rod Johnson , quien la publicó por primera vez con una edición de su libro Expert One-on-One Java EE Design and Development [3] ( Wrox Press , octubre de 2002 ).

El marco se lanzó por primera vez bajo la licencia Apache 2.0 en junio de 2003. La primera versión estable 1.0 se lanzó en marzo de 2004 . Spring 2.0 se lanzó en octubre de 2006, Spring 2.5 en noviembre de 2007, Spring 3.0 en diciembre de 2009 y Spring 3.1 en diciembre de 2011. La versión actual es 5.3.x.

Aunque Spring no proporcionó ningún modelo de programación específico, se ha generalizado en la comunidad Java principalmente como alternativa y reemplazo del modelo Enterprise JavaBeans . Spring les da a los desarrolladores de Java más libertad de diseño; además, proporciona herramientas bien documentadas y fáciles de usar para resolver los problemas que surgen al crear aplicaciones a escala empresarial.

Mientras tanto, las características del núcleo Spring son aplicables a cualquier aplicación Java, y hay muchas extensiones y mejoras para crear aplicaciones web en la plataforma Java Enterprise . Por estas razones, Spring ha ganado mucha popularidad y los desarrolladores lo reconocen como un marco estratégicamente importante.

Introducción

Spring brinda soluciones a muchos de los desafíos que enfrentan los desarrolladores de Java y las organizaciones que desean construir un sistema de información basado en la plataforma Java . Debido a la amplia funcionalidad, es difícil determinar los elementos estructurales más significativos que lo componen. Spring no está completamente asociado con la plataforma Java Enterprise , a pesar de su amplia integración con ella, lo cual es una razón importante de su popularidad.

Spring es probablemente mejor conocido como una fuente de extensiones (características) necesarias para desarrollar de manera efectiva aplicaciones comerciales complejas fuera de los modelos de programación pesados ​​​​que históricamente han dominado la industria. Otra ventaja es que introdujo una funcionalidad no utilizada anteriormente en los métodos de desarrollo principales de hoy, incluso fuera de la plataforma Java.

Este marco ofrece un modelo consistente y lo hace aplicable a la mayoría de los tipos de aplicaciones que ya están construidas en la plataforma Java. Se considera que Spring implementa un modelo de desarrollo basado en los mejores estándares de la industria y lo pone a disposición en muchas áreas de Java.

Módulos

Spring se puede considerar como una colección de marcos más pequeños o marcos dentro de un marco. La mayoría de estos marcos pueden funcionar de forma independiente, pero brindan más funcionalidad cuando se usan juntos. Estos marcos se dividen en elementos estructurales de aplicaciones complejas típicas:

Inversión de Control

El núcleo de Spring es el contenedor Inversion of Control , que proporciona los medios para configurar y gestionar objetos Java utilizando la reflexión . El contenedor es responsable de administrar el ciclo de vida de un objeto: crear objetos, llamar a métodos de inicialización y configurar objetos uniéndolos.

Los objetos creados por un contenedor también se denominan objetos administrados ( beans ). La configuración del contenedor generalmente se realiza mediante la inyección de anotaciones (desde la versión 5 de J2SE ), pero también es posible "a la antigua" cargar archivos XML que contienen la definición del bean y proporcionan la información necesaria para crear los beans.

Los objetos se pueden obtener de dos maneras:

MVC

Spring tiene su propio marco de aplicación web MVC que no se planeó originalmente. Los desarrolladores de Spring decidieron escribirlo porque el marco Apache Struts , así como otros marcos web disponibles en ese momento, tenían una arquitectura fallida. En particular, en su opinión, no había suficiente separación entre las capas de presentación y procesamiento de consultas, así como entre la capa de procesamiento de consultas y el modelo [4] .

La clase DispatcherServlet es el controlador principal del marco y es responsable de delegar el control a varias interfaces, en todas las etapas de la realización de una solicitud HTTP. Estas interfaces deben discutirse con más detalle.

Al igual que Struts, Spring MVC es un marco orientado a solicitudes. Define interfaces estratégicas para todas las funciones de un sistema moderno basado en consultas. El objetivo de cada interfaz es ser simple y claro para que sea fácil para los usuarios volver a implementarla si así lo desean. MVC allana el camino para un código front-end más limpio. Todas las interfaces están estrechamente relacionadas con la API de Servlet . Algunos ven esta conexión como una falla de los desarrolladores de Spring para proporcionar una abstracción de mayor nivel para las aplicaciones web. Sin embargo, este enlace deja las características de la API de Servlet disponibles para los desarrolladores, al mismo tiempo que facilita el trabajo. Las interfaces más importantes definidas por Spring MVC se enumeran a continuación:

Spring MVC proporciona al desarrollador las siguientes características:

Las aplicaciones web pueden usar varias partes de Spring, no solo Spring MVC.

Acceso a datos

Spring expone su capa de acceso a la base de datos a través de JDBC . Además, es compatible con todos los ORM populares : Hibernate , JPA , JDO , EclipseLink , iBatis , Apache OJB , Apache Cayenne , etc.

Para todos estos marcos, Spring proporciona las siguientes características:

Gestión de transacciones

El marco de gestión de transacciones en Spring trae un mecanismo de abstracción a la plataforma Java. Las principales características de estas abstracciones son:

"Contrato antes de la configuración" en Desarrollo de aplicaciones

Spring Roo  es un marco de "acuerdo antes de la configuración" para crear rápidamente aplicaciones comerciales.

Se puede utilizar con:

Integración

Spring Integration  es un marco para JEE que proporciona la funcionalidad necesaria para enviar mensajes o construir una arquitectura basada en eventos...

Primavera Hadoop

El 29 de febrero de 2012, VMware lanzó la integración de Spring con el producto Apache Hadoop. El nuevo marco Spring Hadoop [5] combina las capacidades de Spring Framework con la capacidad de Hadoop , lo que permite a los desarrolladores crear aplicaciones que escalan desde un solo servidor a miles y brindan alta disponibilidad a través del software en lugar del hardware. Al integrar Hadoop Framework basado en Java , una plataforma de código abierto para el procesamiento distribuido de grandes conjuntos de datos en clústeres de computadoras usando un modelo de programación simple, con el marco de desarrollo de aplicaciones Spring Java/JEE, VMware ha creado un proyecto que se enmarca completamente en el "paraguas" de Spring Data [6] [7] .

Entre las características del nuevo marco:

Véase también

Notas

  1. https://github.com/spring-projects/spring-framework/releases/tag/v5.3.23
  2. Marco de aplicaciones de Spring.NET . Fecha de acceso: 19 de mayo de 2010. Archivado desde el original el 2 de abril de 2006.
  3. Expert One-on-One J2EE Design and Development Archivado el 7 de mayo de 2012 en Wayback Machine . 
  4. Johnson, Experto en diseño y desarrollo de J2EE uno a uno, cap. 12 et al.
  5. Primavera Hadoop . Consultado el 24 de septiembre de 2013. Archivado desde el original el 28 de septiembre de 2013.
  6. Datos de primavera . Consultado el 24 de septiembre de 2013. Archivado desde el original el 27 de septiembre de 2013.
  7. 1 2 Spring Hadoop: un nuevo marco para desarrolladores de Java bajo el paraguas de Spring Data Archivado el 27 de septiembre de 2013. . High Load Web Archivado el 4 de abril de 2012 en Wayback Machine .

Literatura

Enlaces