SlideShare una empresa de Scribd logo
Introducción Spring Framework Diego Armando GómezMosquera. dgomez@vortexbird.com dagmosqu@usbcali.edu.co Sun Certified Java Associated. Sun Certified Java Programmer. Sun Certified Web Component Developer. Sun Certified Business Component Developer 5
Agenda Que es Spring Arquitectura de Spring Principales módulos de Spring Inyección de dependencias Programación orientada aspectos. Configurando aplicación usando Spring Instalar el contenedor de Inversión de Control de Spring (IoC) Crear y configurar un Bean en el contenedor de Inversión de Control . Usando el Auto-WritingBean con XML Usando el Auto-WritingBean con Anotaciones.
Que es Spring? Un framework contenedor liviano basado en la técnica Inversión de Control (IoC) y una implementación de desarrollo según el paradigma Orientado a Aspectos (AOP)
Que es Spring? Framework: porque define la forma de desarrollar aplicaciones JavaEE, dando soporte y simplificando complejidad propia del software corporativo. Inversión de Control (IoC): promueve el bajo acoplamiento a partir de la inyección de dependencias (DI) entre los objetos (relaciones). Orientación a Aspectos (AOP): presenta una estructura simplificada para el desarrollo y utilización de aspectos (módulos multipleobjectcrosscutting).
Arquitectura de Spring
Arquitectura de Spring DAO: Soporta el manejo de transacciones con el soporte de AOP. ORM: Integración con diferentes capas de mapeo objeto relacional Hibernate, JPA, JDO, iBates entre otros. JavaEE: Acesso a servicios que provee la especificacionJavaEE. Web: provee un contexto de trabajo para el desarrollo de aplicaciones web e integración con otros frameworks (Struts, JSF, Tapestry, etc).
Inyección de dependencias DependencyInjection (DI) Patrón de diseño orientado a objetos, en el que se suministran objetos a una clase en lugar de ser la propia clase quien cree el objeto.  El término fue acuñado por Martin Fowler.
Sin Inyección de dependencias publicclassVehiculo { private Motor motor = new Motor();     /** @retorna la velocidad del vehículo*/ publicDoubleenAceleracionDePedal(intpresionDePedal) { motor.setPresionDePedal(presionDePedal); int torque = motor.getTorque(); Double velocidad = ... //realiza el cálculo return velocidad;     } }
Con Inyección de dependencias publicclassVehiculo { private Motor motor = null; publicsetMotor(Motor motor){ this.motor = motor;     }     /** @retorna la velocidad del vehículo*/ publicDoubleenAceleracionDePedal(intpresionDePedal) { Double velocidad = null; if (null != motor){ motor.setPresionDePedal(presionDePedal); int torque = motor.getTorque(); 	 velocidad = ... //realiza el cálculo         } return velocidad;     } }
Con Inyección de dependencias //se omite la clase Motor ya que no es relevante para este ejemplo publicclassVehiculoFactory { publicVehiculoconstruyeVehiculo() { Vehiculovehiculo = new Vehiculo();         Motor motor = new Motor(); vehiculo.setMotor(motor); returnvehiculo;     } }
Inversión de control Inversion of Control (IoC) Es un método de programación en el que el flujo de ejecución de un programa se invierte respecto a los métodos de programación tradicionales, en los que la interacción se expresa de forma imperativa haciendo llamadas a procedimientos (procedurecalls) o funciones. Tradicionalmente el programador especifica la secuencia de decisiones y procedimientos que pueden darse durante el ciclo de vida de un programa mediante llamadas a funciones. En su lugar, en la inversión de control se especifican respuestas deseadas a sucesos o solicitudes de datos concretas, dejando que algún tipo de entidad o arquitectura externa lleve a cabo las acciones de control que se requieran en el orden necesario y para el conjunto de sucesos que tengan que ocurrir.
Configurando aplicación usando Spring Instalar el contenedor de Inversión de Control de Spring (IoC) Crear y configurar un Bean en el contenedor de Inversión de Control . Usando el Auto-WritingBean con XML Usando el Auto-WritingBean con Anotaciones.
applicationContext.xml Este archivo permite hacer las configuraciones de las capacidades soportadas por Spring <?xmlversion="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> 	<beanname="persona" class="com.vortexbird.demo.modelo.Persona" > 	</bean> </beans>
Configurar un Bean <?xmlversion="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> 	<beanname="persona" class="com.vortexbird.demo.modelo.Persona" /> </beans>
Configurando el Bean con atributos <?xmlversion="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> 	<beanname="persona" class="com.vortexbird.demo.modelo.Persona" scope="prototype"> 		<propertyname="id" value="142020" /> 		<propertyname="nombre" value="Juan Perez" /> 		<propertyname="mail" value="jperez@hotmail.com" /> 	</bean> </beans>
Configurando el Bean con constructor <?xmlversion="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> 	<beanname="persona" class="com.vortexbird.demo.modelo.Persona" scope="prototype"> 		<constructor-argname="id" value="90893"/> 		<constructor-argname="nombre" value="Diego Gomez"/> 		<constructor-argname="mail" value="dgomez@vortexbird.com"/> 	</bean> </beans>
Usando el Auto-WritingBean con XML <?xmlversion="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> 	<beanname="vehiculo" class="com.vortexbird.demo.modelo.Vehiculo" autowire="byType"/> 	<beanname="motor" class="com.vortexbird.demo.modelo.Motor"/> </beans>
Usando el Auto-WritingBean con Anotaciones <?xmlversion="1.0" encoding="UTF-8"?> <beansxmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans 		http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 		http://www.springframework.org/schema/context				http://www.springframework.org/schema/context/spring-context-3.0.xsd">  	<context:annotation-config/> 	<context:component-scan base-package="com.vortexbird.demo" /> 	 </beans>
Introducccion springframework

Más contenido relacionado

La actualidad más candente

Spring framework
Spring frameworkSpring framework
Spring framework
San Juan Guichicovi
 
spring
springspring
spring
Angel Ruiz
 
Spring
SpringSpring
Introducción a java EE 7
Introducción a java EE 7Introducción a java EE 7
Introducción a java EE 7
Carlos Camacho
 
Herramientas Java
Herramientas JavaHerramientas Java
Herramientas Java
Oliver Centeno
 
Introducción a Java EE
Introducción a Java EEIntroducción a Java EE
Introducción a Java EE
Paco Saucedo
 
Web services y java
Web services y javaWeb services y java
Web services y java
Oliver Centeno
 
Plataforma de programación Java
Plataforma de programación JavaPlataforma de programación Java
Plataforma de programación Java
Antonio Contreras
 
Introducción a JEE
Introducción a JEEIntroducción a JEE
Introducción a JEE
Iker Canarias
 
Modulo 1 java ee platform
Modulo 1   java ee platformModulo 1   java ee platform
Modulo 1 java ee platform
Roberto Marchena
 
Spring framework core 2017
Spring framework core 2017Spring framework core 2017
Spring framework core 2017
Vortexbird
 
Aplicaciones empresariales Java EE en la nube
Aplicaciones empresariales Java EE en la nubeAplicaciones empresariales Java EE en la nube
Aplicaciones empresariales Java EE en la nube
Fernando Montaño
 
Java ee 6
Java ee 6Java ee 6
Java ee 6
Kaleth Baena
 
Sesion 3. desarrollo de aplicaciones jee
Sesion 3. desarrollo de aplicaciones jeeSesion 3. desarrollo de aplicaciones jee
Sesion 3. desarrollo de aplicaciones jee
Héctor Santos
 
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
Emilio Aviles Avila
 
Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces
Seminario de programación Java, con Apache Maven, J2EE, JPA, PrimefacesSeminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces
Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces
Alejandro Bolaños Ussa
 
Arquitectura java web
Arquitectura java webArquitectura java web
Arquitectura java web
Jose Luis Bugarin Peche
 
Desarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EEDesarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EE
Fernando Montaño
 
Spring tutorial v0.271
Spring tutorial v0.271Spring tutorial v0.271
Spring tutorial v0.271
Sebastian Correa Gimenez
 
Curso Java Avanzado 5 Ejb
Curso Java Avanzado   5 EjbCurso Java Avanzado   5 Ejb
Curso Java Avanzado 5 Ejb
Emilio Aviles Avila
 

La actualidad más candente (20)

Spring framework
Spring frameworkSpring framework
Spring framework
 
spring
springspring
spring
 
Spring
SpringSpring
Spring
 
Introducción a java EE 7
Introducción a java EE 7Introducción a java EE 7
Introducción a java EE 7
 
Herramientas Java
Herramientas JavaHerramientas Java
Herramientas Java
 
Introducción a Java EE
Introducción a Java EEIntroducción a Java EE
Introducción a Java EE
 
Web services y java
Web services y javaWeb services y java
Web services y java
 
Plataforma de programación Java
Plataforma de programación JavaPlataforma de programación Java
Plataforma de programación Java
 
Introducción a JEE
Introducción a JEEIntroducción a JEE
Introducción a JEE
 
Modulo 1 java ee platform
Modulo 1   java ee platformModulo 1   java ee platform
Modulo 1 java ee platform
 
Spring framework core 2017
Spring framework core 2017Spring framework core 2017
Spring framework core 2017
 
Aplicaciones empresariales Java EE en la nube
Aplicaciones empresariales Java EE en la nubeAplicaciones empresariales Java EE en la nube
Aplicaciones empresariales Java EE en la nube
 
Java ee 6
Java ee 6Java ee 6
Java ee 6
 
Sesion 3. desarrollo de aplicaciones jee
Sesion 3. desarrollo de aplicaciones jeeSesion 3. desarrollo de aplicaciones jee
Sesion 3. desarrollo de aplicaciones jee
 
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
 
Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces
Seminario de programación Java, con Apache Maven, J2EE, JPA, PrimefacesSeminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces
Seminario de programación Java, con Apache Maven, J2EE, JPA, Primefaces
 
Arquitectura java web
Arquitectura java webArquitectura java web
Arquitectura java web
 
Desarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EEDesarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EE
 
Spring tutorial v0.271
Spring tutorial v0.271Spring tutorial v0.271
Spring tutorial v0.271
 
Curso Java Avanzado 5 Ejb
Curso Java Avanzado   5 EjbCurso Java Avanzado   5 Ejb
Curso Java Avanzado 5 Ejb
 

Similar a Introducccion springframework

Presentación Spring Boot en Autentia
Presentación Spring Boot en AutentiaPresentación Spring Boot en Autentia
Presentación Spring Boot en Autentia
Jorge Pacheco Mengual
 
spring framework
spring frameworkspring framework
spring framework
rossanadaysi
 
Contenedores de IoC - Autofac
Contenedores de IoC - AutofacContenedores de IoC - Autofac
Contenedores de IoC - Autofac
Santiago Porras Rodríguez
 
Efc programación .net-luis fernando aguas - 22012022 1700
Efc programación .net-luis fernando aguas - 22012022 1700Efc programación .net-luis fernando aguas - 22012022 1700
Efc programación .net-luis fernando aguas - 22012022 1700
Luis Fernando Aguas Bucheli
 
Hands-on Spring 3: The next generation
Hands-on Spring 3: The next generationHands-on Spring 3: The next generation
Hands-on Spring 3: The next generation
Sergi Almar i Graupera
 
Msdn Webcast InyeccióN De Dependencias Con Spring Framework
Msdn Webcast   InyeccióN De Dependencias Con Spring FrameworkMsdn Webcast   InyeccióN De Dependencias Con Spring Framework
Msdn Webcast InyeccióN De Dependencias Con Spring Framework
Gabriel Oliva
 
Curso de Desarrollo Web 2
Curso de Desarrollo Web 2Curso de Desarrollo Web 2
Curso de Desarrollo Web 2
juliocombativo
 
Framework .NET 3.5 06 Operativa básica del framework .net
Framework .NET 3.5 06 Operativa básica del framework .netFramework .NET 3.5 06 Operativa básica del framework .net
Framework .NET 3.5 06 Operativa básica del framework .net
Antonio Palomares Sender
 
J Headstart, EvolucióN De Forms A Adf
J Headstart, EvolucióN De Forms A AdfJ Headstart, EvolucióN De Forms A Adf
J Headstart, EvolucióN De Forms A Adf
Pedro Gallardo
 
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptxEFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
Luis Fernando Aguas Bucheli
 
CrossDvlpu - REACT para desarrolladores de ASP.NET
CrossDvlpu - REACT para desarrolladores de ASP.NETCrossDvlpu - REACT para desarrolladores de ASP.NET
CrossDvlpu - REACT para desarrolladores de ASP.NET
Alberto Diaz Martin
 
Cross development - React para desarrolladores de asp.net
Cross development - React para desarrolladores de asp.netCross development - React para desarrolladores de asp.net
Cross development - React para desarrolladores de asp.net
Alberto Diaz Martin
 
Deploy
DeployDeploy
Spring mvc
Spring mvcSpring mvc
Spring mvc
Mauro Gomez Mejia
 
Manual Basico De Struts
Manual Basico De StrutsManual Basico De Struts
Manual Basico De Struts
carlossanchezvillena
 
[ES] Conectividad de java a base de datos(jdbc)
[ES] Conectividad de java a base  de datos(jdbc)[ES] Conectividad de java a base  de datos(jdbc)
[ES] Conectividad de java a base de datos(jdbc)
Eudris Cabrera
 
Arquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EEArquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EE
Carlos Gavidia-Calderon
 
Introducción a Backbone
Introducción a BackboneIntroducción a Backbone
Introducción a Backbone
Oscar Gensollen
 
Trabajo de base de datos en sqlserver
Trabajo de base de datos en sqlserverTrabajo de base de datos en sqlserver
Trabajo de base de datos en sqlserver
Jesús Alberto Velasquez abanto
 
Esencia de web components
Esencia de web componentsEsencia de web components
Esencia de web components
Pedro J. Molina
 

Similar a Introducccion springframework (20)

Presentación Spring Boot en Autentia
Presentación Spring Boot en AutentiaPresentación Spring Boot en Autentia
Presentación Spring Boot en Autentia
 
spring framework
spring frameworkspring framework
spring framework
 
Contenedores de IoC - Autofac
Contenedores de IoC - AutofacContenedores de IoC - Autofac
Contenedores de IoC - Autofac
 
Efc programación .net-luis fernando aguas - 22012022 1700
Efc programación .net-luis fernando aguas - 22012022 1700Efc programación .net-luis fernando aguas - 22012022 1700
Efc programación .net-luis fernando aguas - 22012022 1700
 
Hands-on Spring 3: The next generation
Hands-on Spring 3: The next generationHands-on Spring 3: The next generation
Hands-on Spring 3: The next generation
 
Msdn Webcast InyeccióN De Dependencias Con Spring Framework
Msdn Webcast   InyeccióN De Dependencias Con Spring FrameworkMsdn Webcast   InyeccióN De Dependencias Con Spring Framework
Msdn Webcast InyeccióN De Dependencias Con Spring Framework
 
Curso de Desarrollo Web 2
Curso de Desarrollo Web 2Curso de Desarrollo Web 2
Curso de Desarrollo Web 2
 
Framework .NET 3.5 06 Operativa básica del framework .net
Framework .NET 3.5 06 Operativa básica del framework .netFramework .NET 3.5 06 Operativa básica del framework .net
Framework .NET 3.5 06 Operativa básica del framework .net
 
J Headstart, EvolucióN De Forms A Adf
J Headstart, EvolucióN De Forms A AdfJ Headstart, EvolucióN De Forms A Adf
J Headstart, EvolucióN De Forms A Adf
 
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptxEFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
 
CrossDvlpu - REACT para desarrolladores de ASP.NET
CrossDvlpu - REACT para desarrolladores de ASP.NETCrossDvlpu - REACT para desarrolladores de ASP.NET
CrossDvlpu - REACT para desarrolladores de ASP.NET
 
Cross development - React para desarrolladores de asp.net
Cross development - React para desarrolladores de asp.netCross development - React para desarrolladores de asp.net
Cross development - React para desarrolladores de asp.net
 
Deploy
DeployDeploy
Deploy
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 
Manual Basico De Struts
Manual Basico De StrutsManual Basico De Struts
Manual Basico De Struts
 
[ES] Conectividad de java a base de datos(jdbc)
[ES] Conectividad de java a base  de datos(jdbc)[ES] Conectividad de java a base  de datos(jdbc)
[ES] Conectividad de java a base de datos(jdbc)
 
Arquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EEArquitectura y diseño de aplicaciones Java EE
Arquitectura y diseño de aplicaciones Java EE
 
Introducción a Backbone
Introducción a BackboneIntroducción a Backbone
Introducción a Backbone
 
Trabajo de base de datos en sqlserver
Trabajo de base de datos en sqlserverTrabajo de base de datos en sqlserver
Trabajo de base de datos en sqlserver
 
Esencia de web components
Esencia de web componentsEsencia de web components
Esencia de web components
 

Más de Vortexbird

Spring security 2017
Spring security 2017Spring security 2017
Spring security 2017
Vortexbird
 
Spring ORM JPA
Spring ORM JPASpring ORM JPA
Spring ORM JPA
Vortexbird
 
Bean validation 2017
Bean validation 2017Bean validation 2017
Bean validation 2017
Vortexbird
 
Introduccion a JPA
Introduccion a JPAIntroduccion a JPA
Introduccion a JPA
Vortexbird
 
Log en Aplicaciones Java y JavaEE
Log en Aplicaciones Java y JavaEELog en Aplicaciones Java y JavaEE
Log en Aplicaciones Java y JavaEE
Vortexbird
 
Servicios Rest con Jersey
Servicios Rest con Jersey Servicios Rest con Jersey
Servicios Rest con Jersey
Vortexbird
 
Servicios Web Rest con Spring MVC
Servicios Web Rest con Spring MVCServicios Web Rest con Spring MVC
Servicios Web Rest con Spring MVC
Vortexbird
 
Primefaces
PrimefacesPrimefaces
Primefaces
Vortexbird
 
Facelets
FaceletsFacelets
Facelets
Vortexbird
 
Vb.pd.zathuracode.v5.0.1
Vb.pd.zathuracode.v5.0.1Vb.pd.zathuracode.v5.0.1
Vb.pd.zathuracode.v5.0.1
Vortexbird
 
Zathuracode Version 5.0.0
Zathuracode Version 5.0.0Zathuracode Version 5.0.0
Zathuracode Version 5.0.0
Vortexbird
 
Web services SOAP con JAX-WS
Web services SOAP con JAX-WSWeb services SOAP con JAX-WS
Web services SOAP con JAX-WS
Vortexbird
 
Web services restful con JAX-RS
Web services restful con JAX-RSWeb services restful con JAX-RS
Web services restful con JAX-RS
Vortexbird
 

Más de Vortexbird (13)

Spring security 2017
Spring security 2017Spring security 2017
Spring security 2017
 
Spring ORM JPA
Spring ORM JPASpring ORM JPA
Spring ORM JPA
 
Bean validation 2017
Bean validation 2017Bean validation 2017
Bean validation 2017
 
Introduccion a JPA
Introduccion a JPAIntroduccion a JPA
Introduccion a JPA
 
Log en Aplicaciones Java y JavaEE
Log en Aplicaciones Java y JavaEELog en Aplicaciones Java y JavaEE
Log en Aplicaciones Java y JavaEE
 
Servicios Rest con Jersey
Servicios Rest con Jersey Servicios Rest con Jersey
Servicios Rest con Jersey
 
Servicios Web Rest con Spring MVC
Servicios Web Rest con Spring MVCServicios Web Rest con Spring MVC
Servicios Web Rest con Spring MVC
 
Primefaces
PrimefacesPrimefaces
Primefaces
 
Facelets
FaceletsFacelets
Facelets
 
Vb.pd.zathuracode.v5.0.1
Vb.pd.zathuracode.v5.0.1Vb.pd.zathuracode.v5.0.1
Vb.pd.zathuracode.v5.0.1
 
Zathuracode Version 5.0.0
Zathuracode Version 5.0.0Zathuracode Version 5.0.0
Zathuracode Version 5.0.0
 
Web services SOAP con JAX-WS
Web services SOAP con JAX-WSWeb services SOAP con JAX-WS
Web services SOAP con JAX-WS
 
Web services restful con JAX-RS
Web services restful con JAX-RSWeb services restful con JAX-RS
Web services restful con JAX-RS
 

Último

Power Point: El espiritismo desenmascarado
Power Point: El espiritismo desenmascaradoPower Point: El espiritismo desenmascarado
Power Point: El espiritismo desenmascarado
https://gramadal.wordpress.com/
 
teorema de pitagorasparalaeducacion.pptx
teorema de pitagorasparalaeducacion.pptxteorema de pitagorasparalaeducacion.pptx
teorema de pitagorasparalaeducacion.pptx
ElzebirQuiroga
 
Inteligencia Artificial para Docentes HIA Ccesa007.pdf
Inteligencia Artificial para Docentes  HIA  Ccesa007.pdfInteligencia Artificial para Docentes  HIA  Ccesa007.pdf
Inteligencia Artificial para Docentes HIA Ccesa007.pdf
Demetrio Ccesa Rayme
 
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdfFEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
Jose Luis Jimenez Rodriguez
 
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docxRETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
100078171
 
Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024
israelsouza67
 
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIACONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
ginnazamudio
 
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJAPANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
estroba5
 
Aprender-IA: Recursos online gratuitos para estar al tanto y familiarizarse c...
Aprender-IA: Recursos online gratuitos para estar al tanto y familiarizarse c...Aprender-IA: Recursos online gratuitos para estar al tanto y familiarizarse c...
Aprender-IA: Recursos online gratuitos para estar al tanto y familiarizarse c...
María Sánchez González (@cibermarikiya)
 
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJELA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
jecgjv
 
El espiritismo desenmascarado.pdf. Lec. 10
El espiritismo desenmascarado.pdf. Lec. 10El espiritismo desenmascarado.pdf. Lec. 10
El espiritismo desenmascarado.pdf. Lec. 10
Alejandrino Halire Ccahuana
 
el pensamiento critico de paulo freire en basica .pdf
el pensamiento critico de paulo freire en basica .pdfel pensamiento critico de paulo freire en basica .pdf
el pensamiento critico de paulo freire en basica .pdf
almitamtz00
 
Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.
amayaltc18
 
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLMExamen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
Juan Martín Martín
 
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
20minutos
 
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptxSEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
Osiris Urbano
 
Guia para Docentes como usar ChatGPT Mineduc Ccesa007.pdf
Guia para Docentes como usar ChatGPT  Mineduc Ccesa007.pdfGuia para Docentes como usar ChatGPT  Mineduc Ccesa007.pdf
Guia para Docentes como usar ChatGPT Mineduc Ccesa007.pdf
Demetrio Ccesa Rayme
 
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docxLecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Alejandrino Halire Ccahuana
 
Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.
Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.
Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.
20minutos
 
El ensayo mexicano en el siglo XX LITERATURA
El ensayo mexicano en el siglo XX LITERATURAEl ensayo mexicano en el siglo XX LITERATURA
El ensayo mexicano en el siglo XX LITERATURA
Armando920824
 

Último (20)

Power Point: El espiritismo desenmascarado
Power Point: El espiritismo desenmascaradoPower Point: El espiritismo desenmascarado
Power Point: El espiritismo desenmascarado
 
teorema de pitagorasparalaeducacion.pptx
teorema de pitagorasparalaeducacion.pptxteorema de pitagorasparalaeducacion.pptx
teorema de pitagorasparalaeducacion.pptx
 
Inteligencia Artificial para Docentes HIA Ccesa007.pdf
Inteligencia Artificial para Docentes  HIA  Ccesa007.pdfInteligencia Artificial para Docentes  HIA  Ccesa007.pdf
Inteligencia Artificial para Docentes HIA Ccesa007.pdf
 
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdfFEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
 
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docxRETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
 
Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024
 
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIACONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
 
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJAPANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
 
Aprender-IA: Recursos online gratuitos para estar al tanto y familiarizarse c...
Aprender-IA: Recursos online gratuitos para estar al tanto y familiarizarse c...Aprender-IA: Recursos online gratuitos para estar al tanto y familiarizarse c...
Aprender-IA: Recursos online gratuitos para estar al tanto y familiarizarse c...
 
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJELA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
 
El espiritismo desenmascarado.pdf. Lec. 10
El espiritismo desenmascarado.pdf. Lec. 10El espiritismo desenmascarado.pdf. Lec. 10
El espiritismo desenmascarado.pdf. Lec. 10
 
el pensamiento critico de paulo freire en basica .pdf
el pensamiento critico de paulo freire en basica .pdfel pensamiento critico de paulo freire en basica .pdf
el pensamiento critico de paulo freire en basica .pdf
 
Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.
 
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLMExamen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
 
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
 
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptxSEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
SEMIOLOGIA DE HEMORRAGIAS DIGESTIVAS.pptx
 
Guia para Docentes como usar ChatGPT Mineduc Ccesa007.pdf
Guia para Docentes como usar ChatGPT  Mineduc Ccesa007.pdfGuia para Docentes como usar ChatGPT  Mineduc Ccesa007.pdf
Guia para Docentes como usar ChatGPT Mineduc Ccesa007.pdf
 
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docxLecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
 
Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.
Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.
Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.
 
El ensayo mexicano en el siglo XX LITERATURA
El ensayo mexicano en el siglo XX LITERATURAEl ensayo mexicano en el siglo XX LITERATURA
El ensayo mexicano en el siglo XX LITERATURA
 

Introducccion springframework

  • 1. Introducción Spring Framework Diego Armando GómezMosquera. dgomez@vortexbird.com dagmosqu@usbcali.edu.co Sun Certified Java Associated. Sun Certified Java Programmer. Sun Certified Web Component Developer. Sun Certified Business Component Developer 5
  • 2. Agenda Que es Spring Arquitectura de Spring Principales módulos de Spring Inyección de dependencias Programación orientada aspectos. Configurando aplicación usando Spring Instalar el contenedor de Inversión de Control de Spring (IoC) Crear y configurar un Bean en el contenedor de Inversión de Control . Usando el Auto-WritingBean con XML Usando el Auto-WritingBean con Anotaciones.
  • 3. Que es Spring? Un framework contenedor liviano basado en la técnica Inversión de Control (IoC) y una implementación de desarrollo según el paradigma Orientado a Aspectos (AOP)
  • 4. Que es Spring? Framework: porque define la forma de desarrollar aplicaciones JavaEE, dando soporte y simplificando complejidad propia del software corporativo. Inversión de Control (IoC): promueve el bajo acoplamiento a partir de la inyección de dependencias (DI) entre los objetos (relaciones). Orientación a Aspectos (AOP): presenta una estructura simplificada para el desarrollo y utilización de aspectos (módulos multipleobjectcrosscutting).
  • 6. Arquitectura de Spring DAO: Soporta el manejo de transacciones con el soporte de AOP. ORM: Integración con diferentes capas de mapeo objeto relacional Hibernate, JPA, JDO, iBates entre otros. JavaEE: Acesso a servicios que provee la especificacionJavaEE. Web: provee un contexto de trabajo para el desarrollo de aplicaciones web e integración con otros frameworks (Struts, JSF, Tapestry, etc).
  • 7. Inyección de dependencias DependencyInjection (DI) Patrón de diseño orientado a objetos, en el que se suministran objetos a una clase en lugar de ser la propia clase quien cree el objeto. El término fue acuñado por Martin Fowler.
  • 8. Sin Inyección de dependencias publicclassVehiculo { private Motor motor = new Motor(); /** @retorna la velocidad del vehículo*/ publicDoubleenAceleracionDePedal(intpresionDePedal) { motor.setPresionDePedal(presionDePedal); int torque = motor.getTorque(); Double velocidad = ... //realiza el cálculo return velocidad; } }
  • 9. Con Inyección de dependencias publicclassVehiculo { private Motor motor = null; publicsetMotor(Motor motor){ this.motor = motor; } /** @retorna la velocidad del vehículo*/ publicDoubleenAceleracionDePedal(intpresionDePedal) { Double velocidad = null; if (null != motor){ motor.setPresionDePedal(presionDePedal); int torque = motor.getTorque(); velocidad = ... //realiza el cálculo } return velocidad; } }
  • 10. Con Inyección de dependencias //se omite la clase Motor ya que no es relevante para este ejemplo publicclassVehiculoFactory { publicVehiculoconstruyeVehiculo() { Vehiculovehiculo = new Vehiculo(); Motor motor = new Motor(); vehiculo.setMotor(motor); returnvehiculo; } }
  • 11. Inversión de control Inversion of Control (IoC) Es un método de programación en el que el flujo de ejecución de un programa se invierte respecto a los métodos de programación tradicionales, en los que la interacción se expresa de forma imperativa haciendo llamadas a procedimientos (procedurecalls) o funciones. Tradicionalmente el programador especifica la secuencia de decisiones y procedimientos que pueden darse durante el ciclo de vida de un programa mediante llamadas a funciones. En su lugar, en la inversión de control se especifican respuestas deseadas a sucesos o solicitudes de datos concretas, dejando que algún tipo de entidad o arquitectura externa lleve a cabo las acciones de control que se requieran en el orden necesario y para el conjunto de sucesos que tengan que ocurrir.
  • 12. Configurando aplicación usando Spring Instalar el contenedor de Inversión de Control de Spring (IoC) Crear y configurar un Bean en el contenedor de Inversión de Control . Usando el Auto-WritingBean con XML Usando el Auto-WritingBean con Anotaciones.
  • 13. applicationContext.xml Este archivo permite hacer las configuraciones de las capacidades soportadas por Spring <?xmlversion="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <beanname="persona" class="com.vortexbird.demo.modelo.Persona" > </bean> </beans>
  • 14. Configurar un Bean <?xmlversion="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <beanname="persona" class="com.vortexbird.demo.modelo.Persona" /> </beans>
  • 15. Configurando el Bean con atributos <?xmlversion="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <beanname="persona" class="com.vortexbird.demo.modelo.Persona" scope="prototype"> <propertyname="id" value="142020" /> <propertyname="nombre" value="Juan Perez" /> <propertyname="mail" value="jperez@hotmail.com" /> </bean> </beans>
  • 16. Configurando el Bean con constructor <?xmlversion="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <beanname="persona" class="com.vortexbird.demo.modelo.Persona" scope="prototype"> <constructor-argname="id" value="90893"/> <constructor-argname="nombre" value="Diego Gomez"/> <constructor-argname="mail" value="dgomez@vortexbird.com"/> </bean> </beans>
  • 17. Usando el Auto-WritingBean con XML <?xmlversion="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <beanname="vehiculo" class="com.vortexbird.demo.modelo.Vehiculo" autowire="byType"/> <beanname="motor" class="com.vortexbird.demo.modelo.Motor"/> </beans>
  • 18. Usando el Auto-WritingBean con Anotaciones <?xmlversion="1.0" encoding="UTF-8"?> <beansxmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <context:annotation-config/> <context:component-scan base-package="com.vortexbird.demo" /> </beans>