fbpx
Wikipedia

Spring Framework

Spring es un framework para el desarrollo de aplicaciones y contenedor de inversión de control, de código abierto para la plataforma Java.[2]

Spring Framework
Información general
Tipo de programa framework para aplicaciónes móviles web
Desarrollador SpringSource
Lanzamiento inicial 1 de octubre de 2002
Licencia Apache License 2.0
Estado actual Activo
Información técnica
Programado en
Plataformas admitidas Máquina virtual java
Versiones
Última versión estable 5.1.6 1 de abril de 2019 (2 años, 4 meses y 5 días)[1]
Enlaces
Sitio web oficial
Repositorio de código

La primera versión fue escrita por Rod Johnson, quien lo lanzó junto a la publicación de su libro Expert One-on-One J2EE Design and Development (Wrox Press, octubre 2002). El framework fue lanzado inicialmente bajo la licencia Apache 2.0 en junio de 2003. El primer gran lanzamiento fue la versión 1.0, que apareció en marzo de 2004 y fue seguida por otros hitos en septiembre de 2004 y marzo de 2005. La versión 1.2.6 de Spring Framework obtuvo reconocimientos Jolt Awards y Jax Innovation Awards en 2006.[3][4]​ Spring Framework 2.0 fue lanzada en 2006, la versión 2.5 en noviembre de 2007, Spring 3.0 en diciembre de 2009 y Spring 3.1 dos años más tarde.[5]​El inicio del desarrollo de la versión 4.0 fue anunciado en enero de 2013.[6]​ La versión actual es la 5.1.6.[1]

Si bien las características fundamentales de Spring Framework pueden ser usadas en cualquier aplicación desarrollada en Java, existen variadas extensiones para la construcción de aplicaciones web sobre la plataforma Java EE. A pesar de que no impone ningún modelo de programación en particular, este framework se ha vuelto popular en la comunidad al ser considerado una alternativa, sustituto, e incluso un complemento al modelo EJB (Enterprise JavaBean).

Historia

Los primeros componentes de lo que se ha convertido en Spring Framework fueron escritos por Rod Johnson en el año 2000, mientras trabajaba como consultor independiente para sus clientes en la industria financiera en Londres. Mientras escribía el libro Expert One-on-one J2EE Design And Development (Programmer to programmer), Rod amplió su código para sintetizar su visión acerca de cómo las aplicaciones que trabajan con varias partes de la plataforma J2EE podían llegar a ser más simples y más consistentes que aquellas que los desarrolladores y compañías estaban usando por aquel entonces.

En el año 2001 los modelos dominantes de programación para aplicaciones basadas en web eran ofrecidas por el API Java Servlet y los Enterprise JavaBeans, ambas especificaciones creadas por Sun Microsystems en colaboración con otros distribuidores y partes interesadas que disfrutaban de gran popularidad en la comunidad Java. Las aplicaciones que no eran basadas en web, como las aplicaciones basadas en cliente o aplicaciones en batch, podían ser escritas con base en herramientas y proyectos de código abierto o comerciales que proveyeran las características requeridas para aquellos desarrollos.

Se formó un pequeño equipo de desarrolladores que esperaba trabajar en extender el framework y un proyecto fue creado en Sourceforge en febrero de 2003. Después de trabajar en su desarrollo durante más de un año lanzaron una primera versión (versión 1.0) en marzo de 2004. Después de este lanzamiento, Spring ganó mucha popularidad en la comunidad Java, debido en parte al uso de Javadoc y de una documentación de referencia por encima del promedio de un proyecto de código abierto.

Sin embargo, Spring Framework también fue duramente criticado en 2004 y sigue siendo el tema de acalorados debates. Al tiempo en que se daba su primer gran lanzamiento muchos desarrolladores y líderes de opinión vieron a Spring como un gran paso con respecto al modelo de programación tradicional; esto era especialmente cierto con respecto a Enterprise JavaBeans. Una de las metas de diseño de Spring Framework es su facilidad de integración con los estándares J2EE y herramientas comerciales existentes. Esto quita en parte la necesidad de definir sus características en un documento de especificación elaborado por un comité oficial y que podría ser criticado.

Spring Framework hizo que aquellas técnicas que resultaban desconocidas para la mayoría de programadores se volvieran populares en un periodo muy corto de tiempo. El ejemplo más notable es la inversión de control. En el año 2004, Spring disfrutó de unas altísimas tasas de adopción y al ofrecer su propio framework de programación orientada a aspectos (aspect-oriented programming, AOP) consiguió hacer más popular su paradigma de programación en la comunidad Java.[cita requerida]

En 2005 Spring superó las tasas de adopción del año anterior como resultado de nuevos lanzamientos y más características fueron añadidas. El foro de la comunidad formada alrededor de Spring Framework (The Spring Forum) que arrancó a finales de 2004 también ayudó a incrementar la popularidad del framework y desde entonces ha crecido hasta llegar a ser la más importante fuente de información y ayuda para sus usuarios.

Módulos

Spring Framework comprende diversos módulos que proveen un rango de servicios:

  • Contenedor de inversión de control: permite la configuración de los componentes de aplicación y la administración del ciclo de vida de los objetos Java, se lleva a cabo principalmente a través de la inyección de dependencias.
  • Programación orientada a aspectos: habilita la implementación de rutinas transversales.
  • Acceso a datos: se trabaja con RDBMS en la plataforma java, usando Java Database Connectivity y herramientas de Mapeo objeto relacional con bases de datos NoSQL.
  • Gestión de transacciones: unifica distintas APIs de gestión y coordina las transacciones para los objetos Java.
  • Modelo vista controlador: Un framework basado en HTTP y servlets, que provee herramientas para la extensión y personalización de aplicaciones web y servicios web REST.
  • Framework de acceso remoto: Permite la importación y exportación estilo RPC, de objetos Java a través de redes que soporten RMI, CORBA y protocolos basados en HTTP incluyendo servicios web (SOAP).
  • Convención sobre Configuración: el módulo Spring Roo ofrece una solución rápida para el desarrollo de aplicaciones basadas en Spring Framework, privilegiando la simplicidad sin perder flexibilidad.
  • Procesamiento por lotes: un framework para procesamiento de mucho volumen que como características incluye funciones de registro/trazado, manejo de transacciones, estadísticas de procesamiento de tareas, reinicio de tareas, y manejo de recursos.
  • Autenticación y Autorización: procesos de seguridad configurables que soportan un rango de estándares, protocolos, herramientas y prácticas a través del subproyecto Spring Security (antiguamente Acegi).
  • Administración Remota: Configuración de visibilidad y gestión de objetos Java para la configuración local o remota vía JMX.
  • Mensajes: Registro configurable de objetos receptores de mensajes, para el consumo transparente desde la a través de JMS, una mejora del envío de mensajes sobre las API JMS estándar.
  • Testing: Soporte de clases para desarrollo de unidades de prueba e integración.

Contenedor de inversión de control

El corazón de Spring Framework es su contenedor de inversión de control (IoC). Su trabajo es instanciar, inicializar y conectar objetos de la aplicación, además de proveer una serie de características adicionales disponibles en Spring a través del tiempo de vida de los objetos.[7]

Los objetos creados y gestionados por el contenedor se denominan objetos gestionados o beans. Estos objetos son del tipo POJO. Para realizar su tarea el contenedor necesita información indicando como instanciar y conectar entre sí los beans. A esta información se la llama metadatos de configuración. Hay distintas formas de proporcionar esta información: basándose en XML, basándose en anotaciones o basándose en objetos Java (desde Spring 3.0). El contenedor es independiente del formato de los metadatos de configuración. El usuario puede usar el formato que desee e incluso mezclarlos en la misma aplicación.[7]

Los objetos pueden ser obtenidos por búsqueda de dependencias o por inyección de dependencias.[8]búsqueda de dependencias es un modelo donde se pide al objeto contenedor un objeto con un nombre específico o de un tipo específico. inyección de dependencias es un modelo en el que el contenedor pasa objetos por nombre a otros objetos, ya sea a través de métodos constructores, propiedades, o métodos de la fábrica.

En muchos casos cuando se utilizan otras partes del Spring Framework no necesita utilizar el Contenedor, aunque probablemente su uso le permita hacer una aplicación más fácil de configurar y personalizar. El Contenedor de Spring le proporciona un mecanismo consistente para configurar las aplicaciones, y se integra con casi todos los entornos Java, desde aplicaciones de pequeñas a grandes aplicaciones empresariales.

El contenedor se puede convertir en un contenedor EJB 3.0 parcialmente por medio del proyecto Pitchfork. Algunos critican al Spring Framework por no cumplir los estándares.[9]​ Sin embargo, SpringSource no ve el cumplimiento EJB 3 como un objetivo importante, y afirma que el Spring Framework y el contenedor permiten modelos de programación más potentes.[10]​ No creas un objeto, sino describes la forma en que deben crearse, definiéndolo en el archivo de configuración de Spring. No llamas a los servicios y componentes, sino dices que servicios y componentes deben ser llamados, definiéndolos en los archivos de configuración de Spring. Esto hace el código fácil de mantener y más fácil de probar mediante la Inyección de Dependencia (IoC).

Véase también

Notas y referencias

  1. Spring Framework 5.1.6, 5.0.13 and 4.3.23 available now
  2. SpringSource Feature Tour
  3. Jolt winners 2006
  4. SpringSource.org
  5. Next Stop: Spring Framework 4.0. (en inglés). Consultado el 24 de septiembre de 2019.
  6. Beginning Spring el 19 de febrero de 2018 en Wayback Machine.. Capítulo 2. Mert Çalıskan y Kenan SevindikEditorial John Wiley & Sons, Inc. 2015
  7. What is the difference between the depencylookup and dependency injection - Spring Forum. Forum.springsource.org (2009-10-28). Retrieved on 2013-11-24.
  8. Spring VS EJB3
  9. «Pitchfork FAQ». Consultado el 6 de junio de 2006. 

Bibliografía

  • Mak, Gary (1 de septiembre de 2010). Spring Recipes: A Problem-Solution Approach (Second edición). Apress. p. 1104. ISBN 1-4302-2499-1. 
  • Walls, Craig (28 de noviembre de 2010). Spring in Action (Third edición). Manning. p. 700. ISBN 1-935182-35-8. 
  • Walls, Craig; Breidenbach, Ryan (16 de agosto de 2007). Spring in Action (Second edición). Manning. pp. 650. ISBN 1-933988-13-4. 
  • Johnson, Rod; Höller, Jürgen; Arendsen, Alef; Risberg, Thomas; Sampaleanu, Colin (8 de julio de 2005). (First edición). Wrox Press. p. 672. ISBN 0-7645-7483-3. Archivado desde el original el 24 de noviembre de 2010. Consultado el 18 de enero de 2013. 
  • Harrop, Rob; Machacek, Jan (31 de enero de 2005). (First edición). Apress. pp. 832. ISBN 1-59059-461-4. Archivado desde el original el 18 de febrero de 2012. Consultado el 18 de enero de 2013. 
  • Johnson, Rod; Jürgen, Höller (23 de octubre de 2002). J2EE Development without EJB (First edición). Wrox Press. pp. 768. ISBN 0-7645-5831-5. 
  • Johnson, Rod (octubre de 2002). Expert One-on-one J2EE Design and Development (First edición). Wrox Press. p. 750. ISBN 0-7645-4385-7. 

Enlaces externos

  • Spring Framework
  • Tutoriales Spring Framework en Español
  • Spring Framework en Español - Grupo Google
  • Spring Hispano
  • Spring Batch
  • The Spring Framework - Reference Documentation
  • Spring: The art of using GRASP Patterns
  • Blossom: Spring Framework integration module for Magnolia CMS
  • Spring Tutorials concept with Spring Examples (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última).
  • Spring framework tutorials
  • Spring Tutorial
  • Spring Jdbc Template 7
  •   Datos: Q720314
  •   Libros y manuales: Spring Framework

spring, framework, este, artículo, sección, necesita, referencias, aparezcan, publicación, acreditada, este, aviso, puesto, enero, 2009, spring, framework, para, desarrollo, aplicaciones, contenedor, inversión, control, código, abierto, para, plataforma, java,. Este articulo o seccion necesita referencias que aparezcan en una publicacion acreditada Este aviso fue puesto el 7 de enero de 2009 Spring es un framework para el desarrollo de aplicaciones y contenedor de inversion de control de codigo abierto para la plataforma Java 2 Spring FrameworkInformacion generalTipo de programaframework para aplicaciones moviles webDesarrolladorSpringSourceLanzamiento inicial1 de octubre de 2002LicenciaApache License 2 0Estado actualActivoInformacion tecnicaProgramado enJavaKotlinGroovyPlataformas admitidasMaquina virtual javaVersionesUltima version estable5 1 6 1 de abril de 2019 2 anos 4 meses y 5 dias 1 EnlacesSitio web oficial Repositorio de codigo editar datos en Wikidata La primera version fue escrita por Rod Johnson quien lo lanzo junto a la publicacion de su libro Expert One on One J2EE Design and Development Wrox Press octubre 2002 El framework fue lanzado inicialmente bajo la licencia Apache 2 0 en junio de 2003 El primer gran lanzamiento fue la version 1 0 que aparecio en marzo de 2004 y fue seguida por otros hitos en septiembre de 2004 y marzo de 2005 La version 1 2 6 de Spring Framework obtuvo reconocimientos Jolt Awards y Jax Innovation Awards en 2006 3 4 Spring Framework 2 0 fue lanzada en 2006 la version 2 5 en noviembre de 2007 Spring 3 0 en diciembre de 2009 y Spring 3 1 dos anos mas tarde 5 El inicio del desarrollo de la version 4 0 fue anunciado en enero de 2013 6 La version actual es la 5 1 6 1 Si bien las caracteristicas fundamentales de Spring Framework pueden ser usadas en cualquier aplicacion desarrollada en Java existen variadas extensiones para la construccion de aplicaciones web sobre la plataforma Java EE A pesar de que no impone ningun modelo de programacion en particular este framework se ha vuelto popular en la comunidad al ser considerado una alternativa sustituto e incluso un complemento al modelo EJB Enterprise JavaBean Indice 1 Historia 2 Modulos 3 Contenedor de inversion de control 4 Vease tambien 5 Notas y referencias 5 1 Bibliografia 6 Enlaces externosHistoria EditarLos primeros componentes de lo que se ha convertido en Spring Framework fueron escritos por Rod Johnson en el ano 2000 mientras trabajaba como consultor independiente para sus clientes en la industria financiera en Londres Mientras escribia el libro Expert One on one J2EE Design And Development Programmer to programmer Rod amplio su codigo para sintetizar su vision acerca de como las aplicaciones que trabajan con varias partes de la plataforma J2EE podian llegar a ser mas simples y mas consistentes que aquellas que los desarrolladores y companias estaban usando por aquel entonces En el ano 2001 los modelos dominantes de programacion para aplicaciones basadas en web eran ofrecidas por el API Java Servlet y los Enterprise JavaBeans ambas especificaciones creadas por Sun Microsystems en colaboracion con otros distribuidores y partes interesadas que disfrutaban de gran popularidad en la comunidad Java Las aplicaciones que no eran basadas en web como las aplicaciones basadas en cliente o aplicaciones en batch podian ser escritas con base en herramientas y proyectos de codigo abierto o comerciales que proveyeran las caracteristicas requeridas para aquellos desarrollos Se formo un pequeno equipo de desarrolladores que esperaba trabajar en extender el framework y un proyecto fue creado en Sourceforge en febrero de 2003 Despues de trabajar en su desarrollo durante mas de un ano lanzaron una primera version version 1 0 en marzo de 2004 Despues de este lanzamiento Spring gano mucha popularidad en la comunidad Java debido en parte al uso de Javadoc y de una documentacion de referencia por encima del promedio de un proyecto de codigo abierto Sin embargo Spring Framework tambien fue duramente criticado en 2004 y sigue siendo el tema de acalorados debates Al tiempo en que se daba su primer gran lanzamiento muchos desarrolladores y lideres de opinion vieron a Spring como un gran paso con respecto al modelo de programacion tradicional esto era especialmente cierto con respecto a Enterprise JavaBeans Una de las metas de diseno de Spring Framework es su facilidad de integracion con los estandares J2EE y herramientas comerciales existentes Esto quita en parte la necesidad de definir sus caracteristicas en un documento de especificacion elaborado por un comite oficial y que podria ser criticado Spring Framework hizo que aquellas tecnicas que resultaban desconocidas para la mayoria de programadores se volvieran populares en un periodo muy corto de tiempo El ejemplo mas notable es la inversion de control En el ano 2004 Spring disfruto de unas altisimas tasas de adopcion y al ofrecer su propio framework de programacion orientada a aspectos aspect oriented programming AOP consiguio hacer mas popular su paradigma de programacion en la comunidad Java cita requerida En 2005 Spring supero las tasas de adopcion del ano anterior como resultado de nuevos lanzamientos y mas caracteristicas fueron anadidas El foro de la comunidad formada alrededor de Spring Framework The Spring Forum que arranco a finales de 2004 tambien ayudo a incrementar la popularidad del framework y desde entonces ha crecido hasta llegar a ser la mas importante fuente de informacion y ayuda para sus usuarios Modulos EditarSpring Framework comprende diversos modulos que proveen un rango de servicios Contenedor de inversion de control permite la configuracion de los componentes de aplicacion y la administracion del ciclo de vida de los objetos Java se lleva a cabo principalmente a traves de la inyeccion de dependencias Programacion orientada a aspectos habilita la implementacion de rutinas transversales Acceso a datos se trabaja con RDBMS en la plataforma java usando Java Database Connectivity y herramientas de Mapeo objeto relacional con bases de datos NoSQL Gestion de transacciones unifica distintas APIs de gestion y coordina las transacciones para los objetos Java Modelo vista controlador Un framework basado en HTTP y servlets que provee herramientas para la extension y personalizacion de aplicaciones web y servicios web REST Framework de acceso remoto Permite la importacion y exportacion estilo RPC de objetos Java a traves de redes que soporten RMI CORBA y protocolos basados en HTTP incluyendo servicios web SOAP Convencion sobre Configuracion el modulo Spring Roo ofrece una solucion rapida para el desarrollo de aplicaciones basadas en Spring Framework privilegiando la simplicidad sin perder flexibilidad Procesamiento por lotes un framework para procesamiento de mucho volumen que como caracteristicas incluye funciones de registro trazado manejo de transacciones estadisticas de procesamiento de tareas reinicio de tareas y manejo de recursos Autenticacion y Autorizacion procesos de seguridad configurables que soportan un rango de estandares protocolos herramientas y practicas a traves del subproyecto Spring Security antiguamente Acegi Administracion Remota Configuracion de visibilidad y gestion de objetos Java para la configuracion local o remota via JMX Mensajes Registro configurable de objetos receptores de mensajes para el consumo transparente desde la a traves de JMS una mejora del envio de mensajes sobre las API JMS estandar Testing Soporte de clases para desarrollo de unidades de prueba e integracion Contenedor de inversion de control EditarEl corazon de Spring Framework es su contenedor de inversion de control IoC Su trabajo es instanciar inicializar y conectar objetos de la aplicacion ademas de proveer una serie de caracteristicas adicionales disponibles en Spring a traves del tiempo de vida de los objetos 7 Los objetos creados y gestionados por el contenedor se denominan objetos gestionados o beans Estos objetos son del tipo POJO Para realizar su tarea el contenedor necesita informacion indicando como instanciar y conectar entre si los beans A esta informacion se la llama metadatos de configuracion Hay distintas formas de proporcionar esta informacion basandose en XML basandose en anotaciones o basandose en objetos Java desde Spring 3 0 El contenedor es independiente del formato de los metadatos de configuracion El usuario puede usar el formato que desee e incluso mezclarlos en la misma aplicacion 7 Los objetos pueden ser obtenidos por busqueda de dependencias o por inyeccion de dependencias 8 busqueda de dependencias es un modelo donde se pide al objeto contenedor un objeto con un nombre especifico o de un tipo especifico inyeccion de dependencias es un modelo en el que el contenedor pasa objetos por nombre a otros objetos ya sea a traves de metodos constructores propiedades o metodos de la fabrica En muchos casos cuando se utilizan otras partes del Spring Framework no necesita utilizar el Contenedor aunque probablemente su uso le permita hacer una aplicacion mas facil de configurar y personalizar El Contenedor de Spring le proporciona un mecanismo consistente para configurar las aplicaciones y se integra con casi todos los entornos Java desde aplicaciones de pequenas a grandes aplicaciones empresariales El contenedor se puede convertir en un contenedor EJB 3 0 parcialmente por medio del proyecto Pitchfork Algunos critican al Spring Framework por no cumplir los estandares 9 Sin embargo SpringSource no ve el cumplimiento EJB 3 como un objetivo importante y afirma que el Spring Framework y el contenedor permiten modelos de programacion mas potentes 10 No creas un objeto sino describes la forma en que deben crearse definiendolo en el archivo de configuracion de Spring No llamas a los servicios y componentes sino dices que servicios y componentes deben ser llamados definiendolos en los archivos de configuracion de Spring Esto hace el codigo facil de mantener y mas facil de probar mediante la Inyeccion de Dependencia IoC Vease tambien EditarGoogle Guice Apache HiveMind Spring Web FlowNotas y referencias Editar a b Spring Framework 5 1 6 5 0 13 and 4 3 23 available now SpringSource Feature Tour Jolt winners 2006 JAX Innovation Award Gewinner 2006 SpringSource org Next Stop Spring Framework 4 0 en ingles Consultado el 24 de septiembre de 2019 a b Beginning Spring Archivado el 19 de febrero de 2018 en Wayback Machine Capitulo 2 Mert Caliskan y Kenan SevindikEditorial John Wiley amp Sons Inc 2015 What is the difference between the depencylookup and dependency injection Spring Forum Forum springsource org 2009 10 28 Retrieved on 2013 11 24 Spring VS EJB3 Pitchfork FAQ Consultado el 6 de junio de 2006 Bibliografia Editar Mak Gary 1 de septiembre de 2010 Spring Recipes A Problem Solution Approach Second edicion Apress p 1104 ISBN 1 4302 2499 1 Walls Craig 28 de noviembre de 2010 Spring in Action Third edicion Manning p 700 ISBN 1 935182 35 8 Walls Craig Breidenbach Ryan 16 de agosto de 2007 Spring in Action Second edicion Manning pp 650 ISBN 1 933988 13 4 Johnson Rod Holler Jurgen Arendsen Alef Risberg Thomas Sampaleanu Colin 8 de julio de 2005 Professional Java Development with the Spring Framework First edicion Wrox Press p 672 ISBN 0 7645 7483 3 Archivado desde el original el 24 de noviembre de 2010 Consultado el 18 de enero de 2013 Harrop Rob Machacek Jan 31 de enero de 2005 Pro Spring First edicion Apress pp 832 ISBN 1 59059 461 4 Archivado desde el original el 18 de febrero de 2012 Consultado el 18 de enero de 2013 Johnson Rod Jurgen Holler 23 de octubre de 2002 J2EE Development without EJB First edicion Wrox Press pp 768 ISBN 0 7645 5831 5 Johnson Rod octubre de 2002 Expert One on one J2EE Design and Development First edicion Wrox Press p 750 ISBN 0 7645 4385 7 Enlaces externos EditarSpring Framework Tutoriales Spring Framework en Espanol Spring Framework en Espanol Grupo Google Spring Hispano Spring ActionScript Spring Batch The Spring Framework Reference Documentation Spring The art of using GRASP Patterns Blossom Spring Framework integration module for Magnolia CMS Spring Tutorials concept with Spring Examples enlace roto disponible en Internet Archive vease el historial la primera version y la ultima Spring framework tutorials Spring Tutorial Spring Jdbc Template 7 Datos Q720314 Libros y manuales Spring FrameworkObtenido de https es wikipedia org w index php title Spring Framework amp oldid 136958618, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos