Publicidad

RSS Spring Framework

Voy a empezar una serie de artículos sobre uno de los frameworks mas populares en J2EE como es Spring Framework. En este primer artículo comentaré lo que es Spring y porque ha tenido tanto éxito.

En el manual de referencia dice: “Spring Framework is a Java platform that provides comprehensive infrastructure support for developing Java applications. Spring handles the infrastructure so you can focus on your application.” Traducido, Spring Framework es una plataforma que nos proporciona una infrastuctura que actúa de soporte para desarrollar aplicaciones Java. Spring maneja toda la infrastructura y así te puedes centrar en tu aplicación. Diciendolo mas coloquialmente, Spring es el “pegamento” que une todos los componentes de la aplicación, maneja su ciclo de vida y la interacción entre ellos.

Spring Framework es un contenedor ligero (“lightweight container”) en contraposición a un un servidor de aplicaciones J2EE. En el caso de una aplicación web, te basta con un contenedor de servlets como Tomcat o Jetty. Pero Spring no solo se puede usar para crear aplicaciones web, se podría usar para cualquier aplicacion java, aunque su uso habitual sea en entornos web, nada te impide utilizarlo para cualquier tipo de aplicación.

¿Porque surgió Spring Framework?

En los inicios de las aplicaciones J2EE, EJB era muy complejo y tedioso, tanto la version 1 como la 2. Yo tengo la suerte de haber trabajado con EJB a partir de la versión 3, pero otros no corrieron la misma suerte, y trabajaron con versiones anteriores. No puedo profundizar mucho, por mi desconocimiento de esas versiones, pero todos los que han trabajado con ellas, comentan que era un infierno. Pero para eso estaba el amigo Rod, para venir al rescate…

La primera versión de Spring se lanzó en junio de 2003, aunque el gran lanzamiento se hizo en Marzo de 2004, con la versión 1.0. Meses mas tarde, en concreto el 21 de Junio de 2004, Rod Johnson, creador de Spring, publicó el libro: “J2EE development without EJB“. Recomiendo encarecidamente su lectura, te hace comprender los motivos por los que diseñar Spring. Lo que mas me gustó del libro, es comprobar como algo complicado lo implementa de manera tan sencilla y elegante.

Yo llevo trabajando con Spring desde septiembre de 2005 y ya no puedo vivir sin él. Hoy en día Spring ha crecido mucho, si hacéis una busqueda en cualquier portal de empleo, vereis que tiene mucha demanda. Incluso ya no es exclusivo de Java, pues ya hay versión para .NET, bautizada como Spring.NET.

Inversión de control e inyeccción de dependencias

Abreviado del ingles IoC y DI respectivamente. Hoy en día ya no se usa practicamente el primer término, sino el segundo. Cuando tu diseñas una aplicación en Java dispones de muchos objetos que se relacionan entre sí mediante composición. Para enlazar dos objetos tendrías que inyectarle a uno de ellos una instancia del otro. Esto lo realiza Spring por tí, por eso se llama Inversión de control, porque es spring quien se encarga de estas dependencias, instancia los objectos y los inyecta por reflexión. A grandes rasgos, declaras en un XML los componentes de tu aplicación y sus dependencias. Spring lee este XML, llamado Application Context, crea los componentes y sus relaciones entre ellos. Las últimas versiones de Spring, ya permiten anotaciones, y se puede anotar una propiedad en una clase mediante @Autowired para que Spring busque la clase correspondiente, la instancie y la inyecte, ahorrandonos bastante código XML.

La “Dependency injection”, ya no es un concepto propio de Spring, otros frameworks lo copiaron. Desde la version 6 de J2EE existe la anotacion @Inject para hacer exactamente lo mismo. Otro menos conocido, como Guice, de Google, tambien lo he utilizado en un proyecto.

Módulos

Spring es bastante grande, por ello el proyecto esta dividido en módulos. No siempre se utiliza en un proyecto todo lo que tiene spring. Por poner un ejemplo, podrías utilizar Struts para la parte web, en vez de Spring MVC. Si utilizas un framework de persistencia, como Hibernate o iBatis, tendrías que incluir spring-orm en tu classpath.

Spring tiene unos 20 módulos:

Yo recomiendo usar Maven para desarrollar en Java. Todos los artefactos de Spring se encuentran en el repositorio central y te olvidas de las dependencias entre ellos. Imagina que quieres usar solo el módulo Spring MVC pero no sabes que dependencias tiene, ya tienes que mirar documentación y meter manualmente los jar que necesitas en tu classpath. Con Maven especificas que quieres usar spring-mvc y te olvidas:

<dependencies> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-mvc</artifactid> <version>3.0.0.RELEASE</version> <scope>runtime</scope> </dependency> </dependencies>

Maven será también objeto de varios artículos en un futuro no muy lejano.

Conclusión

He querido dar una breve introducción de Spring. En próximos episodios, crearé una aplicación que iré desarrollando a lo largo de esta serie.

Mas información | Springsource.org | Manual de referencia de Spring 3.1.0

¿Qué es Spring Framework?

12 Comentarios
¿Qué es Spring Framework?

Muchas veces me encuentro con desarrolladores que vienen de otras plataformas y desean aprender Java debido a las amplias posibilidades que el mercado laboral tiene. Mas pronto que tarde se ven en la imperiosa necesidad de aprender Spring Framework. Sin embargo muchos de los conceptos que Spring aporta no son conceptos elementales y cuesta aclarar las ideas y hacerse una composición de lugar. ¿Qué es exactamente Spring Framework?.

Leer más »

Otro proyecto más que migra a GitHub: ahora Spring Framework

2 Comentarios
Otro proyecto más que migra a GitHub: ahora Spring Framework

Noticia interesante para todos los interesados en el desarrollo Java, los proyectos open source, los sistemas de control de versiones o los repositorios de código la que se ha anunciado esta semana: el popular framework para desarrollo Java Spring Framework ha empezado a utilizar Git como sistema de control de versiones y el cada vez más on fire GitHub como repositorio de código. No es el primer producto de la gente de SpringSource.org en migrar a esta solución y por lo que se puede advertir en sus palabras, no será la última.

Leer más »
Publicidad

Luz verde para Spring Framework 3.1: versión estable para descargar

1 Comentario
Luz verde para Spring Framework 3.1: versión estable para descargar

El equipo de SpringSource ha anunciado finalmente la disponibilidad total y estable de la nueva versión de Spring Framework 3.1. Una substancial actualización que promete varias características claves que marcarán el desarrollo java con este framework en entornos empresariales.

Hay que remarcar que esta release de Spring es la primera que incluye soporte total a Java 7. Habrá que ver si los contenedores de aplicaciones como Tomcat nos permiten un despliegue correcto de las aplicaciones a pesar de este soporte en el framework.

Leer más »

Spring Framework: El patrón DAO (II)

6 Comentarios
Spring Framework: El patrón DAO (II)

addEventListener('load', function (event) { prettyPrint() }, false);

En esta tercera parte de mi serie sobre Spring, vamos a continuar con el patrón DAO.

En el capítulo anterior, sentábamos la base sobre la que se contruirá toda nuestra capa DAO. En este capítulo, crearemos una base de datos muy simple, con una sola tabla, y crearemos su entidad de Hibernate correspondiente y su DAO.

También aprovecharé para hablar sobre los tests. Sin ellos, para ver el código en acción, aún nos faltaría como mínimo un interfaz visual. Pero nos interesa probar el código sin tener que crear este interfaz. Así que crearemos una base de datos para testing en memoria, usando HSQLDB, con datos iniciales, para poder ejecutar operaciones de consulta y comprobar que funcionan.

Leer más »

Lanzado Spring Framework 3.1.0.RC

3 Comentarios
Lanzado Spring Framework 3.1.0.RC

La primera release candidate de Spring 3.1 está ya disponible. Se puede usar desde el repositorio de milestones de SpringSource, o descargándolo directamente de la página de descargas de la comunidad spring.

Esta versión corrige 77 bugs , implementa 16 nuevas características y 66 mejoras. Incluye novedades como:

  • Soporte para Hibernate 4.0 (en concreto 4.0.CR4)
  • Soporte para Quartz 2.0
  • Soporte para configurar el contenedor de Servlets 3.0 mediante código (en lugar de usar web.xml)
  • Soporte para “consumes” and “produces” en la anotación @RequestMapping para especificar el content-type
  • Equivalentes en código para espacios de nombres de Spring XML
  • Soporte completo de TestContext framework para clases con la anotación Configuration

Para más información sobre estas y otra novedades, visitad el capítulo 3 de la guía de referencia de Spring 3.1.

Vía: SpringSource News & Events

Leer más »

Spring Framework: El patrón DAO

15 Comentarios
Spring Framework: El patrón DAO

addEventListener('load', function (event) { prettyPrint() }, false);

Se que muchos estáis esperando la serie de Spring, aquí la tenéis. En esta segunda parte, voy a hablaros de el patrón de diseño DAO. DAO es un acrónimo de Data Access Object. No es algo que haya inventado Spring, pertenece al catálogo de Core J2EE Patterns.

En esta serie voy a ir construyendo una aplicación con Spring Framework. La arquitectura va a ser muy sencilla: capa de acceso a datos, capa de negocio y capa de presentación. Vamos a desarrollar la aplicación al igual que se construyen los edificios, desde los cimientos hasta el tejado. Asi que empecemos por la capa de acceso a los datos.

Leer más »
Publicidad

Lanzada la versión 2.7.0 de SpringSource Tool Suite

4 Comentarios
Lanzada la versión 2.7.0 de SpringSource Tool Suite

Los chicos de SpringSource esta vez han sido rápidos y han lanzado la última versión de su Spring Tool Suite basada en Eclipse Indigo.

Recordemos que la instalación por defecto soporta Eclipse Indigo, aunque aún se mantiene el soporte para Helios usando el update site correspondiente. Ya no soporta Eclipse Galileo. Además esta versión de STS 2.7 viene con la última versión estable de Mylin.

Leer más »

Spring Framework: Introducción

14 Comentarios
Spring Framework: Introducción

Voy a empezar una serie de artículos sobre uno de los frameworks mas populares en J2EE como es Spring Framework. En este primer artículo comentaré lo que es Spring y porque ha tenido tanto éxito.

En el manual de referencia dice: “Spring Framework is a Java platform that provides comprehensive infrastructure support for developing Java applications. Spring handles the infrastructure so you can focus on your application.”
Traducido, Spring Framework es una plataforma que nos proporciona una infrastuctura que actúa de soporte para desarrollar aplicaciones Java. Spring maneja toda la infrastructura y así te puedes centrar en tu aplicación. Diciendolo mas coloquialmente, Spring es el “pegamento” que une todos los componentes de la aplicación, maneja su ciclo de vida y la interacción entre ellos.

Spring Framework es un contenedor ligero (“lightweight container”) en contraposición a un un servidor de aplicaciones J2EE. En el caso de una aplicación web, te basta con un contenedor de servlets como Tomcat o Jetty. Pero Spring no solo se puede usar para crear aplicaciones web, se podría usar para cualquier aplicacion java, aunque su uso habitual sea en entornos web, nada te impide utilizarlo para cualquier tipo de aplicación.

Leer más »
Publicidad

Ver más artículos