Conoce qué es Spring Framework y por qué usarlo)

¿Te gustaría aprender Spring Framework?
Tenemos los cursos que necesitas. ¡Haz clic aquí!

  • EL objetivo de Spring

– Proveer el soporte  para desarrollar aplicaciones empresariales con java.

– Enfocarnos en resolver nuestro problema de dominio.

  • El rol en la arquitectura de aplicaciones empresariales.

– El core de Spring nos da la posibilidad de configurar nuestra aplicación de maneras sencillas,así  también el de poder realizar una integración con aplicaciones empresariales,  realizar testing y poder manejar el acceso a la data.

– Permite integrar y configurar componentes de manera sencilla; parte de los componentes son  plain java objects.

– Integrar pool de conexiones  de base de datos, transacciones, seguridad, messaging, acceso remoto, entre otras.

– Realizar testing,  desacoplando  los objetos desde nuestros ambientes(testing, producción) , realizar test unitarios o de integración.

– El acceder a la data de una manera mucho mas fácil, spring  nos entrega soporte para la gran parte de las tecnologías de acceso de datos, como lo son JDBC,JPA,JDO,HIBERNATE,IBATIS, ya ahora llamado MyIbatis, otra característica es que maneja los recursos por nosotros, un ejemplo de esto es que puede adquirir la conexión, participar en la transacción, manejar las exceptions, procesar resultados, etc; nos provee de helpers como lo es JdbcTemplate.

Tutoriales de Programacion Java: Spring 3 - Parte 1: Introducción

– Soporte para el desarrollo de aplicaciones Web, permite la integración con JSF, Struts, Velocity, FreeMaker y algunos otros, nos permite trabajar con el patrón de diseño MVC, rendear las vistas,validación de formularios, manejo de estados con web flow,  acciones de usuarios, etc, así también, aplicar una capa de seguridad con spring Security.

– Soporte en el desarrollo de aplicaciones empresariales,  desarrollando webservices,  asegurando servicios con accesos de control, planificando jobs y procesos, integrando servicios de mensajería.

  • La base de spring se puede definir mediante el triangulo de Spring

– Inyección de dependencia

Programacion orientada a aspectos

-y Abstracción de servicios empresariales.

2 .- Beans y contenerdores:

  • En Spring un bean es un objeto que vive y que es manipulado por el contenedor, no confundir con un javabean.
  • Spring gestiona todo el ciclo de vida de la aplicación, todos los beans son inicializados antes que se utilicen.
  • Los beans siempre son creados en orden correcto, Spring se encarga de resolver la dependencia de cada uno de ellos.
  • Cada bean posee un identificador único
  • Encapsula las implementaciones dado  el despliegue de la aplicación, oculta los detalles de la implementación.

2.1 – Los beans.

Un bean es un objeto, y como tal puede ser bastante simple,  como el siguiente:

Con sus atributos, getters y setters, tal y cual, es un objeto plano en java, para pasarlo a un bean de Spring, tenemos que ponerlo en un contenedor de beans, que no es mas que una definición en un archivo xml.

Esta es una clase que no contiene dependencias, si quisiéramos instanciar la clase vía reflection, bastaría con hacer:

1SimpleBean simpleBean = new SimpleBean();

Pero Spring nos provee de una interfaz para proporcionar la configuración de una aplicación, esta es el ApplicationContext.

12ApplicationContext context = new ClassPathXmlApplicationContext(“basic-context.xml”);SimpleBean simpleBean = (SimpleBean) context.getBean("simpleBean",SimpleBean.class);

Ahora Spring es quien contiene y maneja todo el ciclo de vida del bean llamado «simpleBean» que definimos mas arriba.

2.2 Inyección de dependencias.

Spring nos permite el poder inyectar dependencias a nuestros beans vía setter, o constructor.

2.2.1 Inyección de dependencia por constructor.

Es equivalente a:

SimpleBean sb = new SimpleBean(787545, “valor del tipo string”, new HashMap…);

Beneficios de la inyección por constructor:

  1. Cumplir con las dependencias obligatorias.
  2. Proveer de inmutabilidad
  3. Programar de una forma consistente, creación e inyección en una sola linea de código.

2.2.2 Inyección de dependencia por Setter.

Es equivalente a:

Beneficios de la inyección por Setter:

  1. Permitir dependencias por defecto u opcionales.
  2. Tener nombres descriptivos.
  3. Seguir la convención JavaBeanTM
  4. Se hereda de forma automática.

También se pueden combinar.

Los puristas prefieren uno sobre otro,¿Cual usar?,  tu elijes, se consistente…

2.2.3 Dependencias y configuración

En resumen, dentro de los beneficios de las inyecciones de dependencia podemos mencionar.

  • Al objeto se le entrega lo necesario para trabajar, simplifica el código, permite la reutilización, permite resolver la dependencias entre los componentes.
  • Nos permite trabajar con interfaces, para ocultar los detalles de la implementación
  • Promueve las pruebas de manera aislada o de todos los componentes juntos.
  • Maneja el ciclo de vida del objeto.

Obtén descuentos exclusivos de nuestros cursos en vivo en línea

Capacítate con los expertos

3.- El Factory BeanEl factoryBean es una interfaz que es implementada por los objetos que usara el BeanFactory,  si un objeto la implementa, este se utilizará como  una fabrica de objeto, esta interfaz soporta  scopes singletons y prototypes, con la opción de crearse en forma temprana o tardía(lazily).Métodos de FactoryBean:

A tener en cuenta:

  • Spring autodetecta cualquier implementación del factoryBean y retorna el objeto creado por
    el metodo getObject()
  • Nos permite encapsular la creación del objeto
  • Spring nos permitirá instanciar el objeto como un bean Singleton, o Prototype.

Te invitamos a ver todos nuestros artículos que tenemos para ti, coméntanos que tal te pareció este articulo y compártelo con más personas.

¿Te gustaría aprender Spring Framework?
Tenemos los cursos que necesitas. ¡Haz clic aquí!

About Author

NGuerrero

0 0 votos
Article Rating
Suscribir
Notificar de
guest
0 Comments
Comentarios.
Ver todos los comentarios

¿Te gustaría aprender Frameworks Java?

X
0
¿Te gusta este articulo? por favor comentax