Introducción Spring Framework<br />Diego Armando GómezMosquera.<br />dgomez@vortexbird.com<br />dagmosqu@usbcali.edu.co<br...
Agenda<br />Que es Spring<br />Arquitectura de Spring<br />Principales módulos de Spring<br />Inyección de dependencias<br...
Que es Spring?<br />Un framework contenedor liviano basado en la técnica Inversión de Control (IoC) y una implementación d...
Que es Spring?<br />Framework: porque define la forma de desarrollar aplicaciones JavaEE, dando soporte y simplificando co...
Arquitectura de Spring<br />
Arquitectura de Spring<br />DAO: Soporta el manejo de transacciones con el soporte de AOP.<br />ORM: Integración con difer...
Inyección de dependencias<br />DependencyInjection (DI)<br />Patrón de diseño orientado a objetos, en el que se suministra...
Sin Inyección de dependencias<br />publicclassVehiculo {<br />private Motor motor = new Motor();<br />    /** @retorna la ...
Con Inyección de dependencias<br />publicclassVehiculo {<br />private Motor motor = null;<br />publicsetMotor(Motor motor)...
Con Inyección de dependencias<br />//se omite la clase Motor ya que no es relevante para este ejemplo<br />publicclassVehi...
Inversión de control<br />Inversion of Control (IoC)<br />Es un método de programación en el que el flujo de ejecución de ...
Configurando aplicación usando Spring<br />Instalar el contenedor de Inversión de Control de Spring (IoC)<br />Crear y con...
applicationContext.xml<br />Este archivo permite hacer las configuraciones de las capacidades soportadas por Spring<br /><...
Configurar un Bean<br /><?xmlversion="1.0" encoding="UTF-8"?><br /><beans<br />xmlns="http://www.springframework.org/schem...
Configurando el Bean con atributos<br /><?xmlversion="1.0" encoding="UTF-8"?><br /><beans<br />xmlns="http://www.springfra...
Configurando el Bean con constructor<br /><?xmlversion="1.0" encoding="UTF-8"?><br /><beans<br />xmlns="http://www.springf...
Usando el Auto-WritingBean con XML<br /><?xmlversion="1.0" encoding="UTF-8"?><br /><beans<br />xmlns="http://www.springfra...
Usando el Auto-WritingBean con Anotaciones<br /><?xmlversion="1.0" encoding="UTF-8"?><br /><beansxmlns="http://www.springf...
Introducccion springframework
Upcoming SlideShare
Loading in...5
×

Introducccion springframework

2,451

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,451
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
50
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Introducccion springframework

  1. 1. Introducción Spring Framework<br />Diego Armando GómezMosquera.<br />dgomez@vortexbird.com<br />dagmosqu@usbcali.edu.co<br />Sun Certified Java Associated.<br />Sun Certified Java Programmer.<br />Sun Certified Web Component Developer.<br />Sun Certified Business Component Developer 5<br />
  2. 2. Agenda<br />Que es Spring<br />Arquitectura de Spring<br />Principales módulos de Spring<br />Inyección de dependencias<br />Programación orientada aspectos.<br />Configurando aplicación usando Spring<br />Instalar el contenedor de Inversión de Control de Spring (IoC)<br />Crear y configurar un Bean en el contenedor de Inversión de Control .<br />Usando el Auto-WritingBean con XML<br />Usando el Auto-WritingBean con Anotaciones.<br />
  3. 3. Que es Spring?<br />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)<br />
  4. 4. Que es Spring?<br />Framework: porque define la forma de desarrollar aplicaciones JavaEE, dando soporte y simplificando complejidad propia del software corporativo.<br />Inversión de Control (IoC): promueve el bajo acoplamiento a partir de la inyección de dependencias (DI) entre los objetos (relaciones).<br />Orientación a Aspectos (AOP): presenta una estructura simplificada para el desarrollo y utilización de aspectos (módulos multipleobjectcrosscutting).<br />
  5. 5. Arquitectura de Spring<br />
  6. 6. Arquitectura de Spring<br />DAO: Soporta el manejo de transacciones con el soporte de AOP.<br />ORM: Integración con diferentes capas de mapeo objeto relacional Hibernate, JPA, JDO, iBates entre otros.<br />JavaEE: Acesso a servicios que provee la especificacionJavaEE.<br />Web: provee un contexto de trabajo para el desarrollo de aplicaciones web e integración con otros frameworks (Struts, JSF, Tapestry, etc).<br />
  7. 7. Inyección de dependencias<br />DependencyInjection (DI)<br />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. <br />El término fue acuñado por Martin Fowler.<br />
  8. 8. Sin Inyección de dependencias<br />publicclassVehiculo {<br />private Motor motor = new Motor();<br /> /** @retorna la velocidad del vehículo*/<br />publicDoubleenAceleracionDePedal(intpresionDePedal) {<br />motor.setPresionDePedal(presionDePedal);<br />int torque = motor.getTorque();<br />Double velocidad = ... //realiza el cálculo<br />return velocidad;<br /> }<br />}<br />
  9. 9. Con Inyección de dependencias<br />publicclassVehiculo {<br />private Motor motor = null;<br />publicsetMotor(Motor motor){<br />this.motor = motor;<br /> }<br /> /** @retorna la velocidad del vehículo*/<br />publicDoubleenAceleracionDePedal(intpresionDePedal) {<br />Double velocidad = null;<br />if (null != motor){<br />motor.setPresionDePedal(presionDePedal);<br />int torque = motor.getTorque();<br /> velocidad = ... //realiza el cálculo<br /> }<br />return velocidad;<br /> }<br />}<br />
  10. 10. Con Inyección de dependencias<br />//se omite la clase Motor ya que no es relevante para este ejemplo<br />publicclassVehiculoFactory {<br />publicVehiculoconstruyeVehiculo() {<br />Vehiculovehiculo = new Vehiculo();<br /> Motor motor = new Motor();<br />vehiculo.setMotor(motor);<br />returnvehiculo;<br /> }<br />}<br />
  11. 11. Inversión de control<br />Inversion of Control (IoC)<br />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.<br />
  12. 12. Configurando aplicación usando Spring<br />Instalar el contenedor de Inversión de Control de Spring (IoC)<br />Crear y configurar un Bean en el contenedor de Inversión de Control .<br />Usando el Auto-WritingBean con XML<br />Usando el Auto-WritingBean con Anotaciones.<br />
  13. 13. applicationContext.xml<br />Este archivo permite hacer las configuraciones de las capacidades soportadas por Spring<br /><?xmlversion="1.0" encoding="UTF-8"?><br /><beans<br />xmlns="http://www.springframework.org/schema/beans"<br />xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br />xmlns:p="http://www.springframework.org/schema/p"<br />xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"><br /> <beanname="persona" class="com.vortexbird.demo.modelo.Persona" ><br /> </bean><br /></beans><br />
  14. 14. Configurar un Bean<br /><?xmlversion="1.0" encoding="UTF-8"?><br /><beans<br />xmlns="http://www.springframework.org/schema/beans"<br />xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br />xmlns:p="http://www.springframework.org/schema/p"<br />xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"><br /> <beanname="persona" class="com.vortexbird.demo.modelo.Persona" /><br /></beans><br />
  15. 15. Configurando el Bean con atributos<br /><?xmlversion="1.0" encoding="UTF-8"?><br /><beans<br />xmlns="http://www.springframework.org/schema/beans"<br />xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br />xmlns:p="http://www.springframework.org/schema/p"<br />xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"><br /> <beanname="persona" class="com.vortexbird.demo.modelo.Persona" scope="prototype"><br /> <propertyname="id" value="142020" /><br /> <propertyname="nombre" value="Juan Perez" /><br /> <propertyname="mail" value="jperez@hotmail.com" /><br /> </bean><br /></beans><br />
  16. 16. Configurando el Bean con constructor<br /><?xmlversion="1.0" encoding="UTF-8"?><br /><beans<br />xmlns="http://www.springframework.org/schema/beans"<br />xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br />xmlns:p="http://www.springframework.org/schema/p"<br />xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"><br /> <beanname="persona" class="com.vortexbird.demo.modelo.Persona" scope="prototype"><br /> <constructor-argname="id" value="90893"/><br /> <constructor-argname="nombre" value="Diego Gomez"/><br /> <constructor-argname="mail" value="dgomez@vortexbird.com"/><br /> </bean><br /></beans><br />
  17. 17. Usando el Auto-WritingBean con XML<br /><?xmlversion="1.0" encoding="UTF-8"?><br /><beans<br />xmlns="http://www.springframework.org/schema/beans"<br />xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br />xmlns:p="http://www.springframework.org/schema/p"<br />xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"><br /> <beanname="vehiculo" class="com.vortexbird.demo.modelo.Vehiculo" autowire="byType"/><br /> <beanname="motor" class="com.vortexbird.demo.modelo.Motor"/><br /></beans><br />
  18. 18. Usando el Auto-WritingBean con Anotaciones<br /><?xmlversion="1.0" encoding="UTF-8"?><br /><beansxmlns="http://www.springframework.org/schema/beans"<br />xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"<br />xmlns:context="http://www.springframework.org/schema/context"<br />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"> <br /> <context:annotation-config/><br /> <context:component-scan base-package="com.vortexbird.demo" /> <br /></beans><br />
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×