0% encontró este documento útil (0 votos)
75 vistas

Qué Es Spring Framework

Spring FrameworkSpring FrameworkSpring FrameworkSpring FrameworkSpring FrameworkSpring FrameworkSpring FrameworkSpring FrameworkSpring FrameworkSpring Framework
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
75 vistas

Qué Es Spring Framework

Spring FrameworkSpring FrameworkSpring FrameworkSpring FrameworkSpring FrameworkSpring FrameworkSpring FrameworkSpring FrameworkSpring FrameworkSpring Framework
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 10

¿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?.

El universo de los Frameworks


Normalmente cuando nosotros trabajamos en cualquier plataforma solemos utilizar
algún tipo de framework. Estos framework no son ni mas ni menos que un conjunto de
clases que nos facilitan sobremanera el trabajo cotidiano. Utilizamos el framework para
crear un conjunto de objetos que nuestra aplicación necesita.

En la mayoría de las ocasiones para desarrollar la aplicación que necesitamos no nos


es suficiente con usar un único framework sino que necesitamos utilizar varios
frameworks. Cada uno de los cuales generará su propio conjunto de objetos.
Esta situación genera problemas ya que cada framework es totalmente independiente
y gestiona su propio ciclo de vida de los objetos.
Spring Framework
Spring ayuda a solventar este problema ya que cambia las responsabilidades y en vez
de que el propio desarrollador sea el encargado de generar los objetos de cada uno de
los frameworks esSpring basandose en ficheros xml o anotaciones el encargado
de construir todos los objetos que la aplicación va a utilizar.
De esta manera al ser Spring el encargado de inicializar todos los objetos de los
distintos frameworks, es también el responsable de asegurarnos que se integran de la
forma correcta.
Spring y Código
Así pues es muy común encontrarse aplicaciones de Spring framework con amplios
ficheros XML que se encargan de inicializar los diferentes objetos como se muestra a
continuación.
<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-
3.0.xsd">

<bean id="ServicioA" class="com.genbetadev.ServicioA">


<property name="mensaje" value="Hola GenBetaDev"/>
</bean>

<bean id="ServicioB" class="com.genbetadev.ServicioB">


<property name="mensaje" value="Hola GenBetaDev 2"/>
</bean>

</beans>

Recordemos que también se pueden configurar a traves de anotaciones con


@Autowired usando el principio de Convención sobre Configuración. Esto reduciría de
forma significativa el tamaño del fichero XML.

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.

¿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 comoSpring.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:
&#60;dependencies&#62;
&#60;dependency&#62;
&#60;groupid&#62;org.springframework&#60;/groupid&#62;
&#60;artifactid&#62;spring-mvc&#60;/artifactid&#62;
&#60;version&#62;3.0.0.RELEASE&#60;/version&#62;
&#60;scope&#62;runtime&#60;/scope&#62;
&#60;/dependency&#62;
&#60;/dependencies&#62;

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.

SPRING
Introducción
El Spring Framework proporciona un modelo de programación y configuración completa
para las aplicaciones empresariales modernas basadas en Java - en cualquier tipo de
plataforma de despliegue. Un elemento clave de la primavera es el apoyo de
infraestructura a nivel de aplicación: la primavera se centra en la "fontanería" de las
aplicaciones empresariales para que los equipos pueden centrarse en la lógica de
negocios a nivel de aplicación, sin ataduras innecesarias a los entornos de despliegue
específicas.

Características
 Inyección De Dependencia
 Programación Orientada a Aspectos incluyendo la gestión de transacciones declarativa
de Primavera
 Spring MVC aplicación web y un marco de servicios web RESTful
 Apoyo Fundacional para JDBC, JPA, JMS
 Mucho más ...

Todas las características avaible y módulos se describen en la sección Módulos de la


documentación de referencia . Sus maven / coordenadas Gradle también se describen
allí .

Requisitos mínimos

 JDK 6+ para Spring Framework 4.x


 JDK 5+ para Spring Framework 3.x

También podría gustarte