SlideShare uma empresa Scribd logo
1 de 22
Spring
Framework
Grupo No. 4
 Frans Josehp Giron Casasola 092-05-483
 Jose Angel Herrera 092-00-772
 Mario Rudy Gómez Marroquín 092-06-14969
 Armando Monzon 092-98-5413
 Marco Orozco 092-03-12056
 Jorge Mario Pérez Bac 092-01-3320
 Mónica A. Lemus Rodriguez 092-06-569
 Karla Sequen Gonzalez 092-06-689
 Edwin Rodolfo Barrios Morales 092-98-1929
 Johann Roaldo Leon 092-01-0949
Introducción e historia
 Framework de aplicación desarrollado para
aplicaciones escritas en el lenguaje de
programación Java.
 Fue creado gracias a la colaboración de grandes
programadores y lideres del proyecto Rod
Johnson y Jurgen Holler.
 Con su experiencia en el desarrollo de
Aplicaciones J2EE (Java 2 Enterprise Editions), EJB
(Enterprise JavaBeans), Servlets y JSP (Java Server
Pages), lograron combinar dichas herramientas y
otras más en un solo paquete, para brindar una
estructura más sólida y un mejor soporte para este
tipo de aplicaciones.
 Spring fue creado basado en los
siguientes principios:
 El buen diseño es más importante que la
tecnología subyacente
 Los JavaBeans ligados de una manera más
libre entre interfaces es un buen modelo.
 El código debe ser fácil de probar.
Características
 Es un framework Java de Software Libre, liviano de
aplicación (también existe actualmente una
versión para .NET)
 Su principal característica es brindar un factory de
objetos basado en la Inyeccion De Dependencia.
 Puede emplearse en cualquier aplicación hecha
en Java, existen muchas extensiones y mejoras
para construir aplicaciones basadas en web por
encima de la plataforma Java EE.
 Ofrece los mismos servicios de EJB pero
simplificando el modelo de programación.
Estructura de Spring
 Spring es un framework modular que cuenta
con una arquitectura organizada en cerca
de 20 módulos independientes, lo cual
permite tomar y ocupar únicamente las
partes que interesen para el proyecto.
 Estos módulos están agrupados en:
contenedor central, Acceso a datos e
integración, Web, Programación orientada a
aspectos, instrumentación y Pruebas.
Flujo
#SpringSource
http://www.springsource.org
CONTENEDOR CENTRAL
 Este módulo consiste en: el núcleo, los
Beans, contexto y módulos del lenguaje de
expresiones.
 El núcleo y los beans proporcionan las partes
fundamentales de la estructura, incluyendo el IoC
y las características de la inyección de
dependencia.
 El BeanFactory es una implementación sofisticada
del patrón de la fábrica. Se elimina la necesidad
de programación de singletons (método más
utilizado) y le permite desacoplar la configuración
y las especificaciones de las dependencias de la
lógica real del programa.
Inversión de control
 Conocido como IoC. Se encarga se separar
del código de la aplicación, lo aspectos de
configuración y las especificaciones de
dependencia del framework.
 Utilizando el principio Hollywood “no me
llames, yo te llamaré a ti” en éste termino
sería: en lugar de que el código de la
aplicación llame a una clase de una líbreria
un framework que utiliza IoC llama a código.
Inyección de dependencia
 Es una forma de inversión de control. En
lugar de que el código de la aplicación
utilice el API del framework para resolver
las dependencias, las clases de la
aplicación muestran sus dependencias a
través de métodos que el framework
puede llamar con el valor apropiado en
tiempo de ejecución, basado en la
configuración.
 Contexto provee de herramientas para
acceder a los beans de una manera
elegante, similar a un registro JNDI. El
paquete de contexto hereda sus
características del paquete de beans y
añade soporte para mensajería de texto,
como son resource bundles (para
internacionalización), propagación de
eventos, carga de recursos y creación
transparente de contextos por contenedores
(como el contenedor de servlets, por
ejemplo).
 Lenguaje de expresión proporciona un lenguaje de
expresiones de gran alcance para consultar y manipular
un gráfico de objetos en tiempo de ejecución.
 Es una extensión del lenguaje de expresión unificada
(unificada EL) según se especifica en la especificación JSP
2.1.
 El lenguaje soporta los valores de las propiedades get and
set, propiedad de asignación, métodos de invocación, el
acceso a los arrays, colecciones e indizadores, operadores
lógicos y aritméticos, variables con nombre y la
recuperación de objetos por nombre del contenedor IoC
de Spring. También es compatible con lista de proyección
y selección, así como lista común de agregaciones.
PROGRAMACION ORIENTADA
A ASPECTOS
 Provee una implementación de
programación orientada a aspectos
compatible con AOP Alliance, permitiendo
definir pointcuts e interceptores de métodos
para desacoplar el código de una manera
limpia implementando funcionalidad que por
lógica y claridad debería estar separada.
Usando metadatos a nivel de código fuente
se pueden incorporar diversos tipos de
información y comportamiento al código, un
poco similar a los atributos de .NET
ACCESO A DATOS /
INTEGRACIÓN
 Consiste en JDBC, ORM, OXM, JMS y
transacciones modulares.
 JDBC, provee una capa de abstracción
de JDBC que elimina la necesidad de
teclear código JDBC tedioso y
redundante, así como el parseo de
códigos de error específicos de cada
proveedor de base de datos.
 ORM, provee capas de integración para
APIs de mapeo objeto -
relacional, incluyendo, JDO, Hibernate e
iBatis. Usando el paquete ORM es posible
usar esos mapeadores en conjunto con
otras características que Spring
ofrece, como la administración de
transacciones mencionada con
anterioridad.
 OXM proporciona una capa de abstracción que
apoya Objeto / XML implementaciones de
asignación para JAXB, Castor, XMLBeans, JiBX y
XStream.
 Java Messaging Service (JMS) contiene las
características de los mensajes de productores y
consumidores.
 El módulo de transacciones provee de una
manera de administrar transacciones tanto
declarativas como programáticas, no solo para
clases que implementen interfaces
especiales, pero para todos sus POJOs (por sus
siglas en inglés, Viejos y simples objetos java).
WEB
 Este módulo proporciona funciones de
integración orientados a web básicos como
funcionalidad multiparte de carga de
archivos y la inicialización del contenedor IoC
usando oyentes servlet y un contexto
orientado a la aplicación web. También
contiene las partes relacionadas con la web
de soporte de comunicación remota de
Spring.
 Cuando se usa Spring junto con WebWork o
Struts, este es el paquete que te permite una
integración sencilla.
 Web MVC provee de una implementación Modelo
- Vista - Controlador para las aplicaciones web. La
implementación de Spring MVC permite una
separación entre código de modelo de dominio y
las formas web y permite el uso de otras
características de Spring Framework como lo es la
validación.
 Web Struts contiene las clases de apoyo para la
integración de un clásico de capa web Struts dentro
de una aplicación Spring. Tomar en cuenta que este
soporte está obsoleto desde Spring 3.0.
 Web-portlets proporciona la implementación MVC
para ser utilizado en un entorno de portlet y refleja la
funcionalidad del módulo Web-Servlet.
PRUEBAS
 El módulo de prueba apoya la prueba de los
componentes del resorte con JUnit o TestNG.
 Se proporciona una carga constante de
ApplicationContexts de Spring y el
almacenamiento en caché de esos
contextos.
 También proporciona los objetos de imitación
que se puede utilizar para probar el código
en el aislamiento.
Muchas gracias!!

Mais conteúdo relacionado

Mais procurados

Introducción a Java EE
Introducción a Java EEIntroducción a Java EE
Introducción a Java EEPaco Saucedo
 
Orm hibernate springframework
Orm hibernate springframeworkOrm hibernate springframework
Orm hibernate springframeworkVortexbird
 
Plataforma de programación Java
Plataforma de programación JavaPlataforma de programación Java
Plataforma de programación JavaAntonio Contreras
 
Curso Java Avanzado 1 IntroduccióN Al Desarrollo Web
Curso Java Avanzado   1 IntroduccióN Al Desarrollo WebCurso Java Avanzado   1 IntroduccióN Al Desarrollo Web
Curso Java Avanzado 1 IntroduccióN Al Desarrollo WebEmilio Aviles Avila
 
Integración de aplicaciones Java
Integración de aplicaciones JavaIntegración de aplicaciones Java
Integración de aplicaciones JavaIker Canarias
 
Java lenguaje de desarrollo
Java lenguaje de desarrolloJava lenguaje de desarrollo
Java lenguaje de desarrolloDavid
 
Linea del tiempo de los frameworks
Linea del tiempo de los frameworksLinea del tiempo de los frameworks
Linea del tiempo de los frameworksJose Alejandro
 
Manual desarrollo de aplicaciones web ii
Manual desarrollo de aplicaciones web iiManual desarrollo de aplicaciones web ii
Manual desarrollo de aplicaciones web iiKarina Villavicencio
 
Diapositivas Web Util
Diapositivas Web UtilDiapositivas Web Util
Diapositivas Web Utilsudamericano
 
Desarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsDesarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsFreelancer
 
Presentacion portlets tools
Presentacion portlets toolsPresentacion portlets tools
Presentacion portlets toolsguest696b01
 
Presentacion portlets-tools
Presentacion portlets-toolsPresentacion portlets-tools
Presentacion portlets-toolsguest696b01
 

Mais procurados (18)

Herramientas Java
Herramientas JavaHerramientas Java
Herramientas Java
 
Web services y java
Web services y javaWeb services y java
Web services y java
 
Introducción a Java EE
Introducción a Java EEIntroducción a Java EE
Introducción a Java EE
 
Orm hibernate springframework
Orm hibernate springframeworkOrm hibernate springframework
Orm hibernate springframework
 
Plataforma de programación Java
Plataforma de programación JavaPlataforma de programación Java
Plataforma de programación Java
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 
Curso Java Avanzado 5 Ejb
Curso Java Avanzado   5 EjbCurso Java Avanzado   5 Ejb
Curso Java Avanzado 5 Ejb
 
Curso Java Avanzado 1 IntroduccióN Al Desarrollo Web
Curso Java Avanzado   1 IntroduccióN Al Desarrollo WebCurso Java Avanzado   1 IntroduccióN Al Desarrollo Web
Curso Java Avanzado 1 IntroduccióN Al Desarrollo Web
 
Integración de aplicaciones Java
Integración de aplicaciones JavaIntegración de aplicaciones Java
Integración de aplicaciones Java
 
Java lenguaje de desarrollo
Java lenguaje de desarrolloJava lenguaje de desarrollo
Java lenguaje de desarrollo
 
Linea del tiempo de los frameworks
Linea del tiempo de los frameworksLinea del tiempo de los frameworks
Linea del tiempo de los frameworks
 
Manual desarrollo de aplicaciones web ii
Manual desarrollo de aplicaciones web iiManual desarrollo de aplicaciones web ii
Manual desarrollo de aplicaciones web ii
 
Laravel
LaravelLaravel
Laravel
 
Diapositivas Web Util
Diapositivas Web UtilDiapositivas Web Util
Diapositivas Web Util
 
Desarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on RailsDesarrollo de Apps Web en Ruby on Rails
Desarrollo de Apps Web en Ruby on Rails
 
Presentacion portlets tools
Presentacion portlets toolsPresentacion portlets tools
Presentacion portlets tools
 
Presentacion portlets-tools
Presentacion portlets-toolsPresentacion portlets-tools
Presentacion portlets-tools
 
Documento Web2Py
Documento Web2PyDocumento Web2Py
Documento Web2Py
 

Destaque

Mejores a nuestros proyectos de Software
Mejores a nuestros proyectos de SoftwareMejores a nuestros proyectos de Software
Mejores a nuestros proyectos de SoftwareJose Luis Bugarin Peche
 
Path relinking for high dimensional continuous optimization
Path relinking for high dimensional continuous optimizationPath relinking for high dimensional continuous optimization
Path relinking for high dimensional continuous optimizationPatxi Gortázar
 
Proyecto Alojamiento Hotel artiem audax
Proyecto Alojamiento Hotel artiem audaxProyecto Alojamiento Hotel artiem audax
Proyecto Alojamiento Hotel artiem audaxVíctor Mayans Asián
 
Proyecto de hotel
Proyecto de hotelProyecto de hotel
Proyecto de hotelcartefi
 
Hotel boutique stadhalle
Hotel boutique stadhalleHotel boutique stadhalle
Hotel boutique stadhalleJuly Pinedo
 
Empresa de transportes turismo señor de ataco s
Empresa de transportes turismo señor de ataco   sEmpresa de transportes turismo señor de ataco   s
Empresa de transportes turismo señor de ataco srosanitam
 
Java EE and Spring Side-by-Side
Java EE and Spring Side-by-SideJava EE and Spring Side-by-Side
Java EE and Spring Side-by-SideReza Rahman
 

Destaque (13)

Mejores a nuestros proyectos de Software
Mejores a nuestros proyectos de SoftwareMejores a nuestros proyectos de Software
Mejores a nuestros proyectos de Software
 
spring framework
spring frameworkspring framework
spring framework
 
InSpring security
InSpring securityInSpring security
InSpring security
 
Javacro 2014 Spring Security 3 Speech
Javacro 2014 Spring Security 3 SpeechJavacro 2014 Spring Security 3 Speech
Javacro 2014 Spring Security 3 Speech
 
12 dependency injection
12 dependency injection12 dependency injection
12 dependency injection
 
Path relinking for high dimensional continuous optimization
Path relinking for high dimensional continuous optimizationPath relinking for high dimensional continuous optimization
Path relinking for high dimensional continuous optimization
 
Proyecto Alojamiento Hotel artiem audax
Proyecto Alojamiento Hotel artiem audaxProyecto Alojamiento Hotel artiem audax
Proyecto Alojamiento Hotel artiem audax
 
COMUNITARIO
COMUNITARIOCOMUNITARIO
COMUNITARIO
 
Proyecto de hotel
Proyecto de hotelProyecto de hotel
Proyecto de hotel
 
Hotel boutique stadhalle
Hotel boutique stadhalleHotel boutique stadhalle
Hotel boutique stadhalle
 
Empresa de transportes turismo señor de ataco s
Empresa de transportes turismo señor de ataco   sEmpresa de transportes turismo señor de ataco   s
Empresa de transportes turismo señor de ataco s
 
Java EE and Spring Side-by-Side
Java EE and Spring Side-by-SideJava EE and Spring Side-by-Side
Java EE and Spring Side-by-Side
 
Actividad 1 unidad 3
Actividad 1 unidad 3Actividad 1 unidad 3
Actividad 1 unidad 3
 

Semelhante a Framework spring

Semelhante a Framework spring (20)

01.springframework.pptx
01.springframework.pptx01.springframework.pptx
01.springframework.pptx
 
spring
springspring
spring
 
framework.pptx
framework.pptxframework.pptx
framework.pptx
 
Trabajo java
Trabajo javaTrabajo java
Trabajo java
 
01_ppt_introduccion_spring_mmmmmmmmm.pdf
01_ppt_introduccion_spring_mmmmmmmmm.pdf01_ppt_introduccion_spring_mmmmmmmmm.pdf
01_ppt_introduccion_spring_mmmmmmmmm.pdf
 
Spring
SpringSpring
Spring
 
Ediciones de java
Ediciones de javaEdiciones de java
Ediciones de java
 
Sercicios web
Sercicios webSercicios web
Sercicios web
 
Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)Manual 2014 i 04 lenguaje de programación ii (0870)
Manual 2014 i 04 lenguaje de programación ii (0870)
 
SpringFramework Overview
SpringFramework OverviewSpringFramework Overview
SpringFramework Overview
 
9 tecnologías v1.1
9 tecnologías v1.19 tecnologías v1.1
9 tecnologías v1.1
 
MEAN Stack
MEAN StackMEAN Stack
MEAN Stack
 
POOI- Unidad 1.pdf
POOI- Unidad 1.pdfPOOI- Unidad 1.pdf
POOI- Unidad 1.pdf
 
Programación Orientada a Aspectos - Fernando Córdoba
Programación Orientada a Aspectos - Fernando CórdobaProgramación Orientada a Aspectos - Fernando Córdoba
Programación Orientada a Aspectos - Fernando Córdoba
 
Lenguaje Java
Lenguaje JavaLenguaje Java
Lenguaje Java
 
Frameworks J2EE
Frameworks J2EEFrameworks J2EE
Frameworks J2EE
 
Servicios web
Servicios webServicios web
Servicios web
 
Diccionario 1
Diccionario 1Diccionario 1
Diccionario 1
 
Proyecto De Tecnica De Programacioin I I
Proyecto De Tecnica De Programacioin  I IProyecto De Tecnica De Programacioin  I I
Proyecto De Tecnica De Programacioin I I
 
Lenguaje Java
Lenguaje JavaLenguaje Java
Lenguaje Java
 

Framework spring

  • 2. Grupo No. 4  Frans Josehp Giron Casasola 092-05-483  Jose Angel Herrera 092-00-772  Mario Rudy Gómez Marroquín 092-06-14969  Armando Monzon 092-98-5413  Marco Orozco 092-03-12056  Jorge Mario Pérez Bac 092-01-3320  Mónica A. Lemus Rodriguez 092-06-569  Karla Sequen Gonzalez 092-06-689  Edwin Rodolfo Barrios Morales 092-98-1929  Johann Roaldo Leon 092-01-0949
  • 3. Introducción e historia  Framework de aplicación desarrollado para aplicaciones escritas en el lenguaje de programación Java.  Fue creado gracias a la colaboración de grandes programadores y lideres del proyecto Rod Johnson y Jurgen Holler.  Con su experiencia en el desarrollo de Aplicaciones J2EE (Java 2 Enterprise Editions), EJB (Enterprise JavaBeans), Servlets y JSP (Java Server Pages), lograron combinar dichas herramientas y otras más en un solo paquete, para brindar una estructura más sólida y un mejor soporte para este tipo de aplicaciones.
  • 4.  Spring fue creado basado en los siguientes principios:  El buen diseño es más importante que la tecnología subyacente  Los JavaBeans ligados de una manera más libre entre interfaces es un buen modelo.  El código debe ser fácil de probar.
  • 5. Características  Es un framework Java de Software Libre, liviano de aplicación (también existe actualmente una versión para .NET)  Su principal característica es brindar un factory de objetos basado en la Inyeccion De Dependencia.  Puede emplearse en cualquier aplicación hecha en Java, existen muchas extensiones y mejoras para construir aplicaciones basadas en web por encima de la plataforma Java EE.  Ofrece los mismos servicios de EJB pero simplificando el modelo de programación.
  • 6. Estructura de Spring  Spring es un framework modular que cuenta con una arquitectura organizada en cerca de 20 módulos independientes, lo cual permite tomar y ocupar únicamente las partes que interesen para el proyecto.  Estos módulos están agrupados en: contenedor central, Acceso a datos e integración, Web, Programación orientada a aspectos, instrumentación y Pruebas.
  • 8.
  • 9.
  • 10. CONTENEDOR CENTRAL  Este módulo consiste en: el núcleo, los Beans, contexto y módulos del lenguaje de expresiones.  El núcleo y los beans proporcionan las partes fundamentales de la estructura, incluyendo el IoC y las características de la inyección de dependencia.  El BeanFactory es una implementación sofisticada del patrón de la fábrica. Se elimina la necesidad de programación de singletons (método más utilizado) y le permite desacoplar la configuración y las especificaciones de las dependencias de la lógica real del programa.
  • 11. Inversión de control  Conocido como IoC. Se encarga se separar del código de la aplicación, lo aspectos de configuración y las especificaciones de dependencia del framework.  Utilizando el principio Hollywood “no me llames, yo te llamaré a ti” en éste termino sería: en lugar de que el código de la aplicación llame a una clase de una líbreria un framework que utiliza IoC llama a código.
  • 12. Inyección de dependencia  Es una forma de inversión de control. En lugar de que el código de la aplicación utilice el API del framework para resolver las dependencias, las clases de la aplicación muestran sus dependencias a través de métodos que el framework puede llamar con el valor apropiado en tiempo de ejecución, basado en la configuración.
  • 13.  Contexto provee de herramientas para acceder a los beans de una manera elegante, similar a un registro JNDI. El paquete de contexto hereda sus características del paquete de beans y añade soporte para mensajería de texto, como son resource bundles (para internacionalización), propagación de eventos, carga de recursos y creación transparente de contextos por contenedores (como el contenedor de servlets, por ejemplo).
  • 14.  Lenguaje de expresión proporciona un lenguaje de expresiones de gran alcance para consultar y manipular un gráfico de objetos en tiempo de ejecución.  Es una extensión del lenguaje de expresión unificada (unificada EL) según se especifica en la especificación JSP 2.1.  El lenguaje soporta los valores de las propiedades get and set, propiedad de asignación, métodos de invocación, el acceso a los arrays, colecciones e indizadores, operadores lógicos y aritméticos, variables con nombre y la recuperación de objetos por nombre del contenedor IoC de Spring. También es compatible con lista de proyección y selección, así como lista común de agregaciones.
  • 15. PROGRAMACION ORIENTADA A ASPECTOS  Provee una implementación de programación orientada a aspectos compatible con AOP Alliance, permitiendo definir pointcuts e interceptores de métodos para desacoplar el código de una manera limpia implementando funcionalidad que por lógica y claridad debería estar separada. Usando metadatos a nivel de código fuente se pueden incorporar diversos tipos de información y comportamiento al código, un poco similar a los atributos de .NET
  • 16. ACCESO A DATOS / INTEGRACIÓN  Consiste en JDBC, ORM, OXM, JMS y transacciones modulares.  JDBC, provee una capa de abstracción de JDBC que elimina la necesidad de teclear código JDBC tedioso y redundante, así como el parseo de códigos de error específicos de cada proveedor de base de datos.
  • 17.  ORM, provee capas de integración para APIs de mapeo objeto - relacional, incluyendo, JDO, Hibernate e iBatis. Usando el paquete ORM es posible usar esos mapeadores en conjunto con otras características que Spring ofrece, como la administración de transacciones mencionada con anterioridad.
  • 18.  OXM proporciona una capa de abstracción que apoya Objeto / XML implementaciones de asignación para JAXB, Castor, XMLBeans, JiBX y XStream.  Java Messaging Service (JMS) contiene las características de los mensajes de productores y consumidores.  El módulo de transacciones provee de una manera de administrar transacciones tanto declarativas como programáticas, no solo para clases que implementen interfaces especiales, pero para todos sus POJOs (por sus siglas en inglés, Viejos y simples objetos java).
  • 19. WEB  Este módulo proporciona funciones de integración orientados a web básicos como funcionalidad multiparte de carga de archivos y la inicialización del contenedor IoC usando oyentes servlet y un contexto orientado a la aplicación web. También contiene las partes relacionadas con la web de soporte de comunicación remota de Spring.  Cuando se usa Spring junto con WebWork o Struts, este es el paquete que te permite una integración sencilla.
  • 20.  Web MVC provee de una implementación Modelo - Vista - Controlador para las aplicaciones web. La implementación de Spring MVC permite una separación entre código de modelo de dominio y las formas web y permite el uso de otras características de Spring Framework como lo es la validación.  Web Struts contiene las clases de apoyo para la integración de un clásico de capa web Struts dentro de una aplicación Spring. Tomar en cuenta que este soporte está obsoleto desde Spring 3.0.  Web-portlets proporciona la implementación MVC para ser utilizado en un entorno de portlet y refleja la funcionalidad del módulo Web-Servlet.
  • 21. PRUEBAS  El módulo de prueba apoya la prueba de los componentes del resorte con JUnit o TestNG.  Se proporciona una carga constante de ApplicationContexts de Spring y el almacenamiento en caché de esos contextos.  También proporciona los objetos de imitación que se puede utilizar para probar el código en el aislamiento.