SlideShare una empresa de Scribd logo
2da. Reunión Java Querétaro Introducción 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 básicos de Spring Características Contenedor de IoC Inversion of Control Ventajas Valores IoC y DI Beneficios del DI Contenedor de Beans de Spring ¿Qué más rodea a Spring? Resumen
Antecedentes JEE es complicado Métodos ágiles Proceso de desarrollo integrado Diseño OO basado en negocio Ingeniería de software
¿Qué es SpringFramework? “ Spring es una tecnología dedicada para permitir construir aplicaciones usando POJO’s…”, 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).
Continuación… Spring a menudo es descrito como un framework “ligero” para construir aplicaciones Java. No esta enfocado a una parte especifica de una aplicación. (i.e. Struts, JSF, Hibernate) Spring es “ligero” porque para usarlo en una aplicación no hay que hacer muchos cambios, en ocasiones ninguno.  Esto al menos para usar el “Core” de Spring. Impacto mínimo. Principio de la filosofía de Spring.
¿Por qué Spring? Porque reduce la complejidad de desarrollo JEE Simplificar sin sacrificar poder. Facilitar mejores practicas, que de otra manera son difíciles seguir. Porque nace de la experiencia práctica de muchos desarrolladores en todo el mundo.
¿Por qué Spring? Desarrollar aplicaciones usando POJO’s Spring ofrece capacidades avanzadas de configuración que permiten escalar a una complejidad del mundo real. Permite aplicar servicios empresariales a los POJO’s, de forma declarativa y no invasiva
 
Componentes de SpringFramework
Características ¿Por qué me cambio la vida al desarrollar software?
AOP Facilita la implementación de soluciones a problemas recurrentes, incluso en contextos diferentes
Acceso a datos Facilita el uso con JDBC, y se integra con: Hibernate, iBatis, JPA
Administracción de transacciones
Integración y simplificación con JEE EJB Session Bean SLSB SFSB JMS JNDI JMX Java Mail
Spring en Web SpringMVC, integración con diferentes tecnologías de vista e incluso con otros frameworks MVC como Struts 1.x,2.x, WebWork, JSF
Calendarización de procesos Quartz
Manejo de excepciones simplificado Evita el tedioso manejo de excepciones Cátedra de manejo de excepiones
Escenarios de Uso
En todas las capas
Usando Frameworks de 3ros.
En remoting
Con EJB’s
Contenedor de IoC
Inversion of Control Técnica que externaliza la creación y manejo de las dependencias de componentes IoC también es conocido como Dependency Injection La implementación de DI de Spring está basada en: JavaBeans Interfaces
Inversion of Control Hablando de DI, Spring actúa más como un contenedor que como un Framework. Nos provee instancias de clases de nuestra aplicación con todas las dependencias que necesitan. Y su principio es simple: JavaBeans
Ventajas de DI Mucho menos código de plomería…:D El contenedor de Spring hace la tarea por nosotros Externaliza las dependencias No es necesario recompilar la app para modificar las dependencias Administración centralizada de las dependencias
Ventajas de DI Mejora la prueba de software(TDD) Facilita intercambiar implementaciones Uso de mocks Ejecución de pruebas eficaz Clases de prueba que apoyan el soporte de diseño Mejor diseño de aplicaciones Interface Driven Design
Valores de Spring El nivel de abstracción manejado es bastante alto y sólido. Lo que permite la adopción del framework como un modelo tecnológico y de negocio. Evita los enfoques ineficientes de JEE Las lista de valores es muy larga, mejor vayamos al aspecto más 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 métodos mutadores(set) Por anotaciones
Beneficios de DI Reducir el acoplamiento Ya no más Patrón de Diseño Factory en todas sus estirpes Abstracción total del ensamblado de la aplicación
Contenedor de Spring En Spring, los objetos que forman la columna vertebral de una aplicación 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 definición de los beans puede ser por: configuración 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.XmlBeanFactory Esta permite expresar a los objetos de una app y sus relaciones basados en archivos XML
¿Qué más rodea a Spring? Spring WebFlow Spring WebServices Spring Security SpringSource dm Server Spring Batch Spring LDAP Spring IDE Entre otros…
¿Qué más rodea a Spring? Aplicaciones empresariales Integración con sistemas legados SOA Acceso a múltiples recursos transccionales Control transaccional elemental
¿Qué más 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 código de plomería 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 Querétaro Sigamos haciendo comunidad !!! :D

Más contenido relacionado

La actualidad más candente (20)

PDF
Introducción a JEE
Iker Canarias
 
PDF
Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces
Alejandro Bolaños Ussa
 
PPT
Arquitectura java web
Jose Luis Bugarin Peche
 
PPT
spring
Angel Ruiz
 
PDF
Frameworks J2EE
Iker Canarias
 
PPTX
Java script
Yesith Valencia
 
PDF
[ES] Fundamentos de Java Enterprise Edition
Eudris Cabrera
 
DOCX
J2 ee
Gaspar Lopez
 
PDF
1/9 Curso JEE5, Soa, Web Services, ESB y XML
Juan Carlos Rubio Pineda
 
PDF
Introducción a Spring framework
Guillermo Daniel Salazar
 
PDF
Introducción Spring Framework
econtinua
 
PPT
Curso Java Avanzado 1 IntroduccióN Al Desarrollo Web
Emilio Aviles Avila
 
DOCX
Spring framework
Isabel Samaniego
 
PPT
Introducción a Java y BEA (2008)
Isidro José López Martínez
 
ODP
Spring Mvc Final
Jose Juan R. Zuñiga
 
PDF
Modulo Jee Intro Pos Fp Une
Marcos Jara
 
PPTX
Introducccion springframework
Vortexbird
 
PPT
Persistencia de datos_hibernate_arquitecturas_de_software
Jose Luis Bugarin Peche
 
PDF
Oracle WebLogic Server 11g - Disponibilidad, rendimiento, escalabilidad
avanttic Consultoría Tecnológica
 
Introducción a JEE
Iker Canarias
 
Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces
Alejandro Bolaños Ussa
 
Arquitectura java web
Jose Luis Bugarin Peche
 
spring
Angel Ruiz
 
Frameworks J2EE
Iker Canarias
 
Java script
Yesith Valencia
 
[ES] Fundamentos de Java Enterprise Edition
Eudris Cabrera
 
1/9 Curso JEE5, Soa, Web Services, ESB y XML
Juan Carlos Rubio Pineda
 
Introducción a Spring framework
Guillermo Daniel Salazar
 
Introducción Spring Framework
econtinua
 
Curso Java Avanzado 1 IntroduccióN Al Desarrollo Web
Emilio Aviles Avila
 
Spring framework
Isabel Samaniego
 
Introducción a Java y BEA (2008)
Isidro José López Martínez
 
Spring Mvc Final
Jose Juan R. Zuñiga
 
Modulo Jee Intro Pos Fp Une
Marcos Jara
 
Introducccion springframework
Vortexbird
 
Persistencia de datos_hibernate_arquitecturas_de_software
Jose Luis Bugarin Peche
 
Oracle WebLogic Server 11g - Disponibilidad, rendimiento, escalabilidad
avanttic Consultoría Tecnológica
 

Similar a Spring (20)

PDF
01_ppt_introduccion_spring_mmmmmmmmm.pdf
MarvelNanosoft
 
PPTX
01.springframework.pptx
johann
 
PPTX
framework.pptx
jeremydelpezo2
 
PPT
Plataforma de programación Java
Antonio Contreras
 
PPT
4 Jhs J Developer Adf
Pedro Gallardo
 
PDF
Seminario Spring Roo. Monitorización con Spring Insight
Paradigma Digital
 
PPTX
5 caracteristicas clave del marco Spring
Chetu
 
PPTX
Conociendo Nuestro Fua interno
Jose Patricio Bovet Derpich
 
PPT
Adf. El Framework De Desarrollo De Fusion V7.0
Pedro Gallardo
 
PPTX
Framework spring
Frans Girón
 
PPTX
Webinar oracle adf12c… descubre todo su potencial
atSistemas
 
PDF
Manual 2014 i 04 lenguaje de programación ii (0870)
Robert Rayco Quiroz
 
PPT
Frameworks Java
Jose Luis Bugarin Peche
 
PPT
Lo Nuevo En Spring3 0
jose diaz
 
PDF
01 jee5-componentes
UTN
 
PDF
9 tecnologías v1.1
UTN
 
PDF
Spring tutorial v0.271
Sebastian Correa Gimenez
 
DOCX
Qué es Spring Boot.docxiudxgcvhkjlñopoiturygsfsxgdfhgjhkjl
JersonRamrez1
 
PPTX
INTRODUCCION A TALLER DE PROGRAMACION DISTRIBUIDA.pptx
PruebasUnitarias
 
01_ppt_introduccion_spring_mmmmmmmmm.pdf
MarvelNanosoft
 
01.springframework.pptx
johann
 
framework.pptx
jeremydelpezo2
 
Plataforma de programación Java
Antonio Contreras
 
4 Jhs J Developer Adf
Pedro Gallardo
 
Seminario Spring Roo. Monitorización con Spring Insight
Paradigma Digital
 
5 caracteristicas clave del marco Spring
Chetu
 
Conociendo Nuestro Fua interno
Jose Patricio Bovet Derpich
 
Adf. El Framework De Desarrollo De Fusion V7.0
Pedro Gallardo
 
Framework spring
Frans Girón
 
Webinar oracle adf12c… descubre todo su potencial
atSistemas
 
Manual 2014 i 04 lenguaje de programación ii (0870)
Robert Rayco Quiroz
 
Frameworks Java
Jose Luis Bugarin Peche
 
Lo Nuevo En Spring3 0
jose diaz
 
01 jee5-componentes
UTN
 
9 tecnologías v1.1
UTN
 
Spring tutorial v0.271
Sebastian Correa Gimenez
 
Qué es Spring Boot.docxiudxgcvhkjlñopoiturygsfsxgdfhgjhkjl
JersonRamrez1
 
INTRODUCCION A TALLER DE PROGRAMACION DISTRIBUIDA.pptx
PruebasUnitarias
 
Publicidad

Más de Jose Juan R. Zuñiga (19)

PDF
Apps software development with Vert.X
Jose Juan R. Zuñiga
 
PDF
A lil' of Groovy for Ruby developers
Jose Juan R. Zuñiga
 
PDF
Herramientas para el desarrollo de software
Jose Juan R. Zuñiga
 
PDF
Agile Software Development
Jose Juan R. Zuñiga
 
PPTX
Webapps testing with Groovy
Jose Juan R. Zuñiga
 
KEY
Creación de plugins con Grails
Jose Juan R. Zuñiga
 
PDF
El desarrollador de software
Jose Juan R. Zuñiga
 
KEY
Groovy in Java7mx
Jose Juan R. Zuñiga
 
PDF
Mirando hacia atrás: Retrospectivas
Jose Juan R. Zuñiga
 
PDF
Equipos en Scrum ¡oing!
Jose Juan R. Zuñiga
 
KEY
Integrando Groovy & Grails en el proceso de desarrollo
Jose Juan R. Zuñiga
 
KEY
Creación de Builders y DSL's con Groovy
Jose Juan R. Zuñiga
 
KEY
El proceso de desarrollo con herramientas Open Source
Jose Juan R. Zuñiga
 
KEY
15a. Reunion de SpringHispano.org y grails.org.mx
Jose Juan R. Zuñiga
 
PDF
Introducción a Groovy
Jose Juan R. Zuñiga
 
PPTX
Introduccion a grails en Campusparty
Jose Juan R. Zuñiga
 
PPTX
Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)
Jose Juan R. Zuñiga
 
PPTX
Redefiniendo el MVC con Grails
Jose Juan R. Zuñiga
 
PPT
Creación de Plataformas
Jose Juan R. Zuñiga
 
Apps software development with Vert.X
Jose Juan R. Zuñiga
 
A lil' of Groovy for Ruby developers
Jose Juan R. Zuñiga
 
Herramientas para el desarrollo de software
Jose Juan R. Zuñiga
 
Agile Software Development
Jose Juan R. Zuñiga
 
Webapps testing with Groovy
Jose Juan R. Zuñiga
 
Creación de plugins con Grails
Jose Juan R. Zuñiga
 
El desarrollador de software
Jose Juan R. Zuñiga
 
Groovy in Java7mx
Jose Juan R. Zuñiga
 
Mirando hacia atrás: Retrospectivas
Jose Juan R. Zuñiga
 
Equipos en Scrum ¡oing!
Jose Juan R. Zuñiga
 
Integrando Groovy & Grails en el proceso de desarrollo
Jose Juan R. Zuñiga
 
Creación de Builders y DSL's con Groovy
Jose Juan R. Zuñiga
 
El proceso de desarrollo con herramientas Open Source
Jose Juan R. Zuñiga
 
15a. Reunion de SpringHispano.org y grails.org.mx
Jose Juan R. Zuñiga
 
Introducción a Groovy
Jose Juan R. Zuñiga
 
Introduccion a grails en Campusparty
Jose Juan R. Zuñiga
 
Desarrollo en 4G(Groovy, Grails, Git, GoogleAppEngine)
Jose Juan R. Zuñiga
 
Redefiniendo el MVC con Grails
Jose Juan R. Zuñiga
 
Creación de Plataformas
Jose Juan R. Zuñiga
 
Publicidad

Spring

  • 1. 2da. Reunión Java Querétaro Introducción a SpringFramework
  • 2. Acerca de mi...(neodevelop – José Juan Reyes Z.) La referencia total: SpringHispano.org y grails.org.mx
  • 3. Agenda Antecedentes ¿Qué es Spring?, ¿Por qué Spring? Componentes básicos de Spring Características Contenedor de IoC Inversion of Control Ventajas Valores IoC y DI Beneficios del DI Contenedor de Beans de Spring ¿Qué más rodea a Spring? Resumen
  • 4. Antecedentes JEE es complicado Métodos ágiles Proceso de desarrollo integrado Diseño OO basado en negocio Ingeniería de software
  • 5. ¿Qué es SpringFramework? “ Spring es una tecnología dedicada para permitir construir aplicaciones usando POJO’s…”, Rod Johnson – The Server Side
  • 6. SpringFramework Spring es un poderoso framework de aplicaciones que resuelve muchos problemas comunes en el desarrollo de aplicaciones Java (SDK y EE).
  • 7. Continuación… Spring a menudo es descrito como un framework “ligero” para construir aplicaciones Java. No esta enfocado a una parte especifica de una aplicación. (i.e. Struts, JSF, Hibernate) Spring es “ligero” porque para usarlo en una aplicación no hay que hacer muchos cambios, en ocasiones ninguno. Esto al menos para usar el “Core” de Spring. Impacto mínimo. Principio de la filosofía de Spring.
  • 8. ¿Por qué Spring? Porque reduce la complejidad de desarrollo JEE Simplificar sin sacrificar poder. Facilitar mejores practicas, que de otra manera son difíciles seguir. Porque nace de la experiencia práctica de muchos desarrolladores en todo el mundo.
  • 9. ¿Por qué Spring? Desarrollar aplicaciones usando POJO’s Spring ofrece capacidades avanzadas de configuración que permiten escalar a una complejidad del mundo real. Permite aplicar servicios empresariales a los POJO’s, de forma declarativa y no invasiva
  • 10.  
  • 12. Características ¿Por qué me cambio la vida al desarrollar software?
  • 13. AOP Facilita la implementación de soluciones a problemas recurrentes, incluso en contextos diferentes
  • 14. Acceso a datos Facilita el uso con JDBC, y se integra con: Hibernate, iBatis, JPA
  • 16. Integración y simplificación con JEE EJB Session Bean SLSB SFSB JMS JNDI JMX Java Mail
  • 17. Spring en Web SpringMVC, integración con diferentes tecnologías de vista e incluso con otros frameworks MVC como Struts 1.x,2.x, WebWork, JSF
  • 19. Manejo de excepciones simplificado Evita el tedioso manejo de excepciones Cátedra de manejo de excepiones
  • 21. En todas las capas
  • 26. Inversion of Control Técnica que externaliza la creación y manejo de las dependencias de componentes IoC también es conocido como Dependency Injection La implementación de DI de Spring está basada en: JavaBeans Interfaces
  • 27. Inversion of Control Hablando de DI, Spring actúa más como un contenedor que como un Framework. Nos provee instancias de clases de nuestra aplicación con todas las dependencias que necesitan. Y su principio es simple: JavaBeans
  • 28. Ventajas de DI Mucho menos código de plomería…:D El contenedor de Spring hace la tarea por nosotros Externaliza las dependencias No es necesario recompilar la app para modificar las dependencias Administración centralizada de las dependencias
  • 29. Ventajas de DI Mejora la prueba de software(TDD) Facilita intercambiar implementaciones Uso de mocks Ejecución de pruebas eficaz Clases de prueba que apoyan el soporte de diseño Mejor diseño de aplicaciones Interface Driven Design
  • 30. Valores de Spring El nivel de abstracción manejado es bastante alto y sólido. Lo que permite la adopción del framework como un modelo tecnológico y de negocio. Evita los enfoques ineficientes de JEE Las lista de valores es muy larga, mejor vayamos al aspecto más pragmatico…
  • 31. 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
  • 32. Ejemplos de DI Por constructor Por métodos mutadores(set) Por anotaciones
  • 33. Beneficios de DI Reducir el acoplamiento Ya no más Patrón de Diseño Factory en todas sus estirpes Abstracción total del ensamblado de la aplicación
  • 34. Contenedor de Spring En Spring, los objetos que forman la columna vertebral de una aplicación 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 definición de los beans puede ser por: configuración XML y por anotaciones El contenedor es representado por: org.springframework.beans.factory.BeanFactory
  • 35. Contenedor de Beans de Spring Existen varias implementacions del BeanFactory, por ejemplo: org.springframework.beans.factory.XmlBeanFactory Esta permite expresar a los objetos de una app y sus relaciones basados en archivos XML
  • 36. ¿Qué más rodea a Spring? Spring WebFlow Spring WebServices Spring Security SpringSource dm Server Spring Batch Spring LDAP Spring IDE Entre otros…
  • 37. ¿Qué más rodea a Spring? Aplicaciones empresariales Integración con sistemas legados SOA Acceso a múltiples recursos transccionales Control transaccional elemental
  • 38. ¿Qué más rodea a Spring? Servidores de aplicaciones Es independiente del servidor de Aplicaciones Certificado para Weblogic, Websphere Uso comprobado en JBoss, Glassfish
  • 39. 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 código de plomería Spring no sustituye a JEE, ni intenta hacerlo Spring es OpenSource, y por eso es exitoso Spring usa licenciamiento Apache 2.0
  • 40. Mas referencias… SpringHispano.org SpringFramework.org Twitter de SpringHispano Recursos en delicious.com neodevelop
  • 41. Gracias Java Querétaro Sigamos haciendo comunidad !!! :D