Está en la página 1de 41

2da.

Reunin Java Quertaro


Introduccin a SpringFramework

Acerca de mi...(neodevelop Jos Juan Reyes Z.)


La referencia total: SpringHispano.org y grails.org.mx

Agenda

Antecedentes Qu es Spring?, Por qu Spring? Componentes bsicos de Spring Caractersticas Contenedor de IoC

Inversion of Control Ventajas Valores

IoC y DI Beneficios del DI Contenedor de Beans de Spring Qu ms rodea a Spring? Resumen

Antecedentes

JEE es complicado Mtodos giles Proceso de desarrollo integrado Diseo OO basado en negocio Ingeniera de software

Qu es SpringFramework?

Spring es una tecnologa dedicada para permitir construir aplicaciones usando POJOs, Rod Johnson The Server Side

SpringFramework

Spring es un poderoso framework de aplicaciones que resuelve muchos problemas comunes en el desarrollo de aplicaciones Java (SDK y EE).

Continuacin

Spring a menudo es descrito como un framework ligero para construir aplicaciones Java. No esta enfocado a una parte especifica de una aplicacin. (i.e. Struts, JSF, Hibernate) Spring es ligero porque para usarlo en una aplicacin no hay que hacer muchos cambios, en ocasiones ninguno. Esto al menos para usar el Core de Spring. Impacto mnimo. Principio de la filosofa de Spring.

Por qu Spring?

Porque reduce la complejidad de desarrollo JEE

Simplificar sin sacrificar poder. Facilitar mejores practicas, que de otra manera son difciles seguir.

Porque nace de la experiencia prctica de muchos desarrolladores en todo el mundo.

Por qu Spring?

Desarrollar aplicaciones usando POJOs


Spring

ofrece capacidades avanzadas de configuracin que permiten escalar a una complejidad del mundo real. Permite aplicar servicios empresariales a los POJOs, de forma declarativa y no invasiva

Componentes de SpringFramework

Caractersticas
Por qu me cambio la vida al desarrollar software?

AOP
Facilita la implementacin de soluciones a problemas recurrentes, incluso en contextos diferentes

Acceso a datos
Facilita el uso con JDBC, y se integra con: Hibernate, iBatis, JPA

Administraccin de transacciones

Integracin y simplificacin con JEE


EJB Session Bean


SLSB SFSB

JMS JNDI JMX Java Mail

Spring en Web
SpringMVC, integracin con diferentes tecnologas de vista e incluso con otros frameworks MVC como Struts 1.x,2.x, WebWork, JSF

Calendarizacin de procesos
Quartz

Manejo de excepciones simplificado


Evita el tedioso manejo de excepciones Ctedra de manejo de excepiones

Escenarios de Uso

En todas las capas

Usando Frameworks de 3ros.

En remoting

Con EJBs

Contenedor de IoC

Inversion of Control

Tcnica que externaliza la creacin y manejo de las dependencias de componentes IoC tambin es conocido como Dependency Injection La implementacin de DI de Spring est basada en:
JavaBeans Interfaces

Inversion of Control

Hablando de DI, Spring acta ms como un contenedor que como un Framework.


Nos

provee instancias de clases de nuestra aplicacin con todas las dependencias que necesitan. Y su principio es simple: JavaBeans

Ventajas de DI

Mucho menos cdigo de plomera:D


El

contenedor de Spring hace la tarea por nosotros es necesario recompilar la app para modificar las dependencias

Externaliza las dependencias


No

Administracin centralizada de las dependencias

Ventajas de DI

Mejora la prueba de software(TDD)


Facilita

intercambiar implementaciones Uso de mocks Ejecucin de pruebas eficaz Clases de prueba que apoyan el soporte de diseo

Mejor diseo de aplicaciones


Interface

Driven Design

Valores de Spring

El nivel de abstraccin manejado es bastante alto y slido. Lo que permite la adopcin del framework como un modelo tecnolgico y de negocio. Evita los enfoques ineficientes de JEE Las lista de valores es muy larga, mejor vayamos al aspecto ms pragmatico

IoC y DI

DI es un mecanismo para proveer dependencias de componentes Maneja esas dependencias en su ciclo de vida Un componente que requiere esa dependencia es llamado un objeto dependiente

Ejemplos de DI

Por constructor Por mtodos mutadores(set) Por anotaciones

Beneficios de DI

Reducir el acoplamiento Ya no ms Patrn de Diseo Factory en todas sus estirpes Abstraccin total del ensamblado de la aplicacin

Contenedor de Spring

En Spring, los objetos que forman la columna vertebral de una aplicacin son manejados por el contenedor de IoC En Spring, a esos objetos se les conoce como beans Un bean es cualquier objeto simple, que es instanciado y administrado por el IoC La definicin de los beans puede ser por: configuracin XML y por anotaciones El contenedor es representado por: org.springframework.beans.factory.BeanFactory

Contenedor de Beans de Spring

Existen varias implementacions del BeanFactory, por ejemplo: org.springframework.beans.factory.XmlBeanFac tory Esta permite expresar a los objetos de una app y sus relaciones basados en archivos XML

Qu ms rodea a Spring?

Spring WebFlow Spring WebServices Spring Security SpringSource dm Server Spring Batch Spring LDAP Spring IDE Entre otros

Qu ms rodea a Spring?

Aplicaciones empresariales
Integracin SOA Acceso

con sistemas legados

a mltiples recursos transccionales Control transaccional elemental

Qu ms rodea a Spring?

Servidores de aplicaciones
Es

independiente del servidor de Aplicaciones Certificado para Weblogic, Websphere Uso comprobado en JBoss, Glassfish

Resumen

Spring es un framework de infraestructura para crear excelentes arquitecturas, incluso otros frameworks Spring te ayuda a reducir y en algunos casos eliminar el cdigo de plomera Spring no sustituye a JEE, ni intenta hacerlo Spring es OpenSource, y por eso es exitoso Spring usa licenciamiento Apache 2.0

Mas referencias

SpringHispano.org SpringFramework.org Twitter de SpringHispano Recursos en delicious.com


neodevelop

Gracias Java Quertaro


Sigamos haciendo comunidad !!! :D

También podría gustarte