Introducción a Spring

08/11/2013

Spring es un marco de trabajo (framework) que facilita el desarrollo de aplicaciones Java. La idea es que Spring maneje la infraestructura de las aplicaciones y el programador sólo se centre en la aplicación. Es por ello, que el programador se encargará de programar la lógica de negocio usando objetos simples de Java o POJOs (plain old Java objets) y Spring se encargará de añadir las capacidades de empresa o J2EE a nuestra aplicación.

Spring tiene estas características:

  • ›Simplicidad y acoplamiento débil: permite programar Java de una forma más sencilla: busca ser simple y se basa en la inyección de dependencias para obtener un acoplamiento débil.
  • ›Es un contenedor: que gestiona el ciclo de vida de los objetos y como se relacionan entre ellos. Proporciona una gran infraestructura que permite que el programador se dedique a la lógica de la aplicación.›
  • ›Ligero: es muy rápido en tiempo de procesamiento y no es invasivo a la hora de programar.
  • ›Orientado a aspectos: soporta la programación orientada a aspectos, lo que permite facilitar una capa de servicios que son ideales para este tipo de programación como auditoría, o gestión de transacciones.
Spring consiste en unos 20 módulos que pueden ser agregados dependiendo las necesidades del programador:

›Están agrupados en el contenedor Core, Integración de datos (DAO), Web, Programación Orientada a Aspactos (AOP), Instrumentación y Test.
Módulos de Spring

Módulos de Spring

›El módulo Core Container nos permite configurar nuestra aplicación, incluyendo la característica de inyección de dependencias (IoC) para desacoplar el código de nuestra aplicación. ›También contiene el Contexto para el desarrollo de componentes J2EE y un lenguaje de Expresiones (SpEL).
›El módulo DAO permite la integración de la persistencia en nuestras aplicaciones. ›Contiene un módulo para abstraer el JDBC, contiene módulos para el mapeo  objeto-relación (ORM) tal como JPA, Hibernate, iBatis, módulos para el mapeo objeto-XML, módulos para mensajería JMS y un módulo específico para transacciones.
›El módulo Web permite la integración del desarrollo de aplicaciones orientadas al web. ›Contiene un módulo para implementar aplicaciones orientadas en el modelo de vista controlador (MVC), un módulo de integración con Struts y un módulo para la integración de Portlets.
›El módulo AOP permite la integración del desarrollo de aplicaciones orientadas a aspectos (orientadas a módulos).
›
›El módulo de Instrumentación proporciona una implantación de cargador de clases para ciertos servidores de aplicaciones.
›El módulo Test permite la integración de componentes de Testeo, tal como Junit en el desarrollo de aplicaciones.
Aparte de estos 20 módulos, Spring dispone de diversos módulos/librerías que nos ayudan y simplifican el desarrollo del software: gestor de transacciones, gestor de seguridad, Email, Spring remote…
Por ejemplo el gestor de seguridad nos proporciona objetos para el trabajo de sesiones, con páginas de inicio y cierre de sesión y que el programador no tenga que preocuparse por esta parte del desarrollo. El gestor de transacciones simplifica notablemente desarrollar aplicaciones con transacciones ya que parte del desarrollo la proporciona Spring.
Como resumen final podemos decir que Spring es un framework (un conjunto de librerías, APIS…) que simplifican enormemente el desarrollo de aplicaciones en Java, permitiendo al programador centrarse en el código de la aplicación y dejando a Spring el resto funcionalidades.
En estos dos posts adicionales podemos ver información adicional sobre los dos componentes básicos de Spring: Inyección de dependencias y Programación orientada a Aspectos:
En este link está la documentación oficial de Spring:

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: