Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Spring 1228373799944520 8
Spring 1228373799944520 8
Agenda
Antecedentes Qu es Spring?, Por qu Spring? Componentes bsicos de Spring Caractersticas Contenedor de IoC
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?
Simplificar sin sacrificar poder. Facilitar mejores practicas, que de otra manera son difciles seguir.
Por qu 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
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
Escenarios de Uso
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
provee instancias de clases de nuestra aplicacin con todas las dependencias que necesitan. Y su principio es simple: JavaBeans
Ventajas de DI
contenedor de Spring hace la tarea por nosotros es necesario recompilar la app para modificar las dependencias
Ventajas de DI
intercambiar implementaciones Uso de mocks Ejecucin de pruebas eficaz Clases de prueba que apoyan el soporte de diseo
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
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
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
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