SlideShare uma empresa Scribd logo
1 de 32
Hands-on Sergi Almar i Graupera (sergi.almar@javahispano.org)‏ Erick Camacho  (ecamacho@javahispano.org)‏
Contenido ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Hands-on Spring 2.5
Java JDK 5 o superior Eclipse 3.3 (Europa)‏ Herramientas Hands-on Spring 2.5
Es un  contenedor ligero  de  inversión de control  (IOC). Contenedor de POJOs: BeanFactory y ApplicationContext IOC: Inyección de dependencias ¿Qué es Spring? Hands-on Spring 2.5 Hands-on Spring 2.5
¿Qué es Spring? II Diseño modular y extensible Hands-on Spring 2.5
¿Qué es Spring? III Integración con otras tecnologías. “ Spring should not compete with good existing solutions,  but should foster integration”. (Spring no debe competir con soluciones buenas existentes,  sino buscar la integración)‏ misión de Spring JDBC JPA Hibernate iBatis TopLink Quartz Struts JSF WebServices JTA LDAP Hands-on Spring 2.5
El application Context: La piedra de toque < beans  xmlns = &quot;http://www.springframework.org/schema/beans&quot; xmlns:xsi = &quot;http://www.w3.org/2001/XMLSchema-instance&quot; xsi:schemaLocation = &quot;http://www.springframework.org/schema/beans  http://www.springframework.org/schema/beans/spring-beans-2.5.xsd&quot; > < bean  id = &quot;mibean&quot;  class = &quot;com.mipaquete.MiClase&quot;  /> </beans> Hands-on Spring 2.5
Anotaciones - @Autowired @Qualifier - @Resource, @PostConstruct, @PostDestruct - @Configurable <context:load-time-weaver aspectj-weaving=&quot;on&quot;/> - Stereotypes  @Component (@Controller, @Service, @Repository...)‏ - @Transactional Hands-on Spring 2.5
Spring JPA Integración transparente Inyección del EntityManager gestionado por Spring Nuevo en 2.5: @Repository Hands-on Spring 2.5
Spring Transacciones Capa de abstracción para uniformizar el uso de  transacciones con muchas tecnologías  como JTA, JXTA, JDBC, etc. Declarativa en el XML o mediante anotaciones Hands-on Spring 2.5
Spring MVC: DispatcherServlet Hands-on Spring 2.5
ApplicationContext Hands-on Spring 2.5
Beans especiales - Controladores - HandlerMappings - View resolvers - LocaleResolver - ThemeResolver - MultipartFileResolver Hands-on Spring 2.5
Jerarquia  controladores Hands-on Spring 2.5
public class  UsuarioController  extends  MultiActionController { public  ModelAndView listar(HttpServletRequest req, HttpServletResponse res) {...} public  ModelAndView buscar(HttpServletRequest req, HttpServletResponse res) {...} public  ModelAndView mostrar(HttpServletRequest req, HttpServletResponse res) {...} } Ejemplo Spring 2.0 Hands-on Spring 2.5
Spring MVC 2.5 simplifica la programación de  Controladores - Anotaciones - Convention-over-configuration Spring MVC 2.5 Hands-on Spring 2.5
- Nuevo model de controlador “multi-action”  basado en POJO - Ya no es necesario extender de clases específicas  del framework - Mapear URLs a métodos usando anotaciones @Controller Hands-on Spring 2.5
@Controller public class  UsuarioController { @RequestMapping public void  listar() {...} @RequestMapping public void  buscar(SearchCriteria criteria, BindingResult result) {...} @RequestMapping public void  mostrar(@RequestParam(&quot;id&quot;) Long id) {...} } Ejemplo @Controller Hands-on Spring 2.5
@RequestMapping - Mapea las peticiones  - Diferentes estratégias para mapear - Simple - Relativo al nombre del controlador - Externalizado - Basado en convención (recomendado)‏ -  Hands-on Spring 2.5
@RequestMapping - Simple @Controller public class  UsuarioController { @RequestMapping( “/usuario/listar” )‏ public void  listar() {...} @RequestMapping( “/usuario/buscar” )‏ public void  buscar(SearchCriteria criteria, BindingResult result) {...} @RequestMapping( “/usuario/mostrar” )‏ public void  mostrar(@RequestParam(&quot;id&quot;) Long id) {...} } Hands-on Spring 2.5
@RequestMapping – Relativo controlador @Controller @RequestMapping( “/usuario/*” )‏ public class  UsuarioController { @RequestMapping public void  listar() {...} @RequestMapping public void  buscar(SearchCriteria criteria, BindingResult result) {...} @RequestMapping public void  mostrar(@RequestParam(&quot;id&quot;) Long id) {...} } Hands-on Spring 2.5
@RequestMapping – Externalizado @Controller public class  UsuarioController { @RequestMapping public void  listar() {...} @RequestMapping public void  buscar(SearchCriteria criteria, BindingResult result) {...} @RequestMapping public void  mostrar(@RequestParam(&quot;id&quot;) Long id) {...} } <bean class=“...SimpleUrlHandlerMapping”> <property name=&quot;mappings&quot;> <value>   /usuario/*=usuarioController </value> </property> </bean> Hands-on Spring 2.5
@RequestMapping – Convención <bean   class =“...ControllerClassNameUrlHandlerMapping”  /> @Controller public class  UsuarioController { @RequestMapping public void  listar() {...} @RequestMapping public void  buscar(SearchCriteria criteria, BindingResult result) {...} @RequestMapping public void  mostrar(@RequestParam(&quot;id&quot;) Long id) {...} } Hands-on Spring 2.5
Binding -Simple @RequestMapping public void  mostrar( @RequestParam ( &quot;id&quot; ) Long id) {...} Hands-on Spring 2.5
@RequestMapping public void  foo(HttpServletRequest req, ...) {...} @RequestMapping public void  foo(HttpServletResponse res, ...) {...} @RequestMapping public void  foo(HttpSession session, ...) {...} @RequestMapping public void  foo(Locale locale, ...) {...} @RequestMapping public void  foo(Principal principal, ...) {...} Parámetros especiales Hands-on Spring 2.5
Seleccionar vistas Dos técnicas: - Por convención @Controller public class  UsuarioController {   @RequestMapping   public void  listar() {...} } - Nombre de vista en String @Controller public class  UsuarioController {   @RequestMapping   public  String  listar() {  return   “/usuario/listar” ; } } Hands-on Spring 2.5
Exponer objectos del modelo Dos técnicas: - Devolver un único objecto (no String; recomendado para casos simples)‏ - Declarar un Modelo y añadir parámetros (más flexible)  Hands-on Spring 2.5
@RequestMapping public   List<Usuario>  buscar(SearchCriteria criteria) {...} - El parámetro se expone en usuarioList -  @RequestMapping public   @ModelAttribute( “usuarios” )   List<Usuario>  buscar(SearchCriteria criteria) {...} Devolver un Objeto Hands-on Spring 2.5
@RequestMapping public   void  buscar(SearchCriteria criteria, Model model) { List<Usuario> usuarios = usuarioServicice.getUsuarios(criteria); model.addObject(“usuarios”, usuarios); } Añadir al modelo Hands-on Spring 2.5
Exportar @Controllers Dos técnicas: - Definición del bean explícito <bean   class = “...SimpleUrlHandlerMapping” >   <property name=&quot;mappings&quot;> <value>   /usuario/*=usuarioController   </value> </property> </bean> <bean  id =“ usuarioController ”  class = “...UsuarioController”  /> - Classpath scanning <context:annotation-config />   <context:component-scan   base-package = ”com.mycompany.app” /> Hands-on Spring 2.5
Form  • JA-SIG CAS •  Basic  • JOSSO •  JDBC  • SiteMinder •  LDAP  • Atlassian Crowd •  NTLM  • OpenID •  Containers • X.509 •  JAAS  • Digest Métodos de autenticación Hands-on Spring 2.5
GRACIAS!! Hands-on Spring 2.5

Mais conteúdo relacionado

Semelhante a Hands on Spring 2.5

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 generationSergi Almar i Graupera
 
5. Curso Java Struts I (Framework para Java) - Curso 2005-2006
5. Curso Java Struts I (Framework para Java) - Curso 2005-20065. Curso Java Struts I (Framework para Java) - Curso 2005-2006
5. Curso Java Struts I (Framework para Java) - Curso 2005-2006Samuel Marrero
 
Curso de Desarrollo Web 2
Curso de Desarrollo Web 2Curso de Desarrollo Web 2
Curso de Desarrollo Web 2juliocombativo
 
Metodos,variables, pasodeparametros
Metodos,variables, pasodeparametrosMetodos,variables, pasodeparametros
Metodos,variables, pasodeparametroskenixxx
 
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 .netAntonio Palomares Sender
 
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVCSEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVCParadigma Digital
 
Tema 15 aplicaciones de dos capas por gio
Tema 15   aplicaciones de dos capas por gioTema 15   aplicaciones de dos capas por gio
Tema 15 aplicaciones de dos capas por gioRobert Wolf
 
Manual desarrollo de aplicaciones web ii
Manual desarrollo de aplicaciones web iiManual desarrollo de aplicaciones web ii
Manual desarrollo de aplicaciones web iiKarina Villavicencio
 
Tema 9 aplicaciones de dos capas por gio
Tema 9   aplicaciones de dos capas por gioTema 9   aplicaciones de dos capas por gio
Tema 9 aplicaciones de dos capas por gioRobert Wolf
 
Aprendiendo AWS Lambda con API Gateway y DynamoDB
Aprendiendo AWS Lambda con API Gateway y DynamoDBAprendiendo AWS Lambda con API Gateway y DynamoDB
Aprendiendo AWS Lambda con API Gateway y DynamoDBAbimael Desales López
 
Curso de Struts2: Unidad Didáctica 00 Introduccion
Curso de Struts2: Unidad Didáctica 00 IntroduccionCurso de Struts2: Unidad Didáctica 00 Introduccion
Curso de Struts2: Unidad Didáctica 00 IntroduccionDavid Vaquero
 
UDA-Componentes RUP. Migas
UDA-Componentes RUP. MigasUDA-Componentes RUP. Migas
UDA-Componentes RUP. MigasAnder Martinez
 

Semelhante a Hands on Spring 2.5 (20)

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
 
01 introducción
01 introducción01 introducción
01 introducción
 
Aplicación abc. asp net mvc 3
Aplicación abc. asp net mvc 3Aplicación abc. asp net mvc 3
Aplicación abc. asp net mvc 3
 
Manual Basico De Struts
Manual Basico De StrutsManual Basico De Struts
Manual Basico De Struts
 
Spring Mvc Final
Spring Mvc FinalSpring Mvc Final
Spring Mvc Final
 
5. Curso Java Struts I (Framework para Java) - Curso 2005-2006
5. Curso Java Struts I (Framework para Java) - Curso 2005-20065. Curso Java Struts I (Framework para Java) - Curso 2005-2006
5. Curso Java Struts I (Framework para Java) - Curso 2005-2006
 
Curso de Desarrollo Web 2
Curso de Desarrollo Web 2Curso de Desarrollo Web 2
Curso de Desarrollo Web 2
 
Metodos,variables, pasodeparametros
Metodos,variables, pasodeparametrosMetodos,variables, pasodeparametros
Metodos,variables, pasodeparametros
 
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
 
Ajax
AjaxAjax
Ajax
 
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVCSEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
 
Clase_MVC_I.pptx
Clase_MVC_I.pptxClase_MVC_I.pptx
Clase_MVC_I.pptx
 
Tema 15 aplicaciones de dos capas por gio
Tema 15   aplicaciones de dos capas por gioTema 15   aplicaciones de dos capas por gio
Tema 15 aplicaciones de dos capas por gio
 
Charla
CharlaCharla
Charla
 
MODELO VISTA CONTROLADOR EN PHP
MODELO VISTA CONTROLADOR EN PHPMODELO VISTA CONTROLADOR EN PHP
MODELO VISTA CONTROLADOR EN PHP
 
Manual desarrollo de aplicaciones web ii
Manual desarrollo de aplicaciones web iiManual desarrollo de aplicaciones web ii
Manual desarrollo de aplicaciones web ii
 
Tema 9 aplicaciones de dos capas por gio
Tema 9   aplicaciones de dos capas por gioTema 9   aplicaciones de dos capas por gio
Tema 9 aplicaciones de dos capas por gio
 
Aprendiendo AWS Lambda con API Gateway y DynamoDB
Aprendiendo AWS Lambda con API Gateway y DynamoDBAprendiendo AWS Lambda con API Gateway y DynamoDB
Aprendiendo AWS Lambda con API Gateway y DynamoDB
 
Curso de Struts2: Unidad Didáctica 00 Introduccion
Curso de Struts2: Unidad Didáctica 00 IntroduccionCurso de Struts2: Unidad Didáctica 00 Introduccion
Curso de Struts2: Unidad Didáctica 00 Introduccion
 
UDA-Componentes RUP. Migas
UDA-Componentes RUP. MigasUDA-Componentes RUP. Migas
UDA-Componentes RUP. Migas
 

Mais de Erick Camacho

Modelos de Concurrencia
Modelos de ConcurrenciaModelos de Concurrencia
Modelos de ConcurrenciaErick Camacho
 
Desarrollo de apps para AppleWatch con Watchkit
Desarrollo de apps para AppleWatch con WatchkitDesarrollo de apps para AppleWatch con Watchkit
Desarrollo de apps para AppleWatch con WatchkitErick Camacho
 
Integrando Swift y Objective-C
Integrando Swift y Objective-CIntegrando Swift y Objective-C
Integrando Swift y Objective-CErick Camacho
 
Porque debes de renunciar a tu empleo y desarrollar para iOS
Porque debes de renunciar a tu empleo y desarrollar para iOSPorque debes de renunciar a tu empleo y desarrollar para iOS
Porque debes de renunciar a tu empleo y desarrollar para iOSErick Camacho
 
CocoaHeads México: Introducción a CocoaTouch:UIKit
CocoaHeads México: Introducción a CocoaTouch:UIKitCocoaHeads México: Introducción a CocoaTouch:UIKit
CocoaHeads México: Introducción a CocoaTouch:UIKitErick Camacho
 
Lo que no te han contado sobre el desarrollo para iPhone/iPad
Lo que no te han contado sobre el desarrollo para iPhone/iPadLo que no te han contado sobre el desarrollo para iPhone/iPad
Lo que no te han contado sobre el desarrollo para iPhone/iPadErick Camacho
 
Ecosistemas software para Flex
Ecosistemas software para FlexEcosistemas software para Flex
Ecosistemas software para FlexErick Camacho
 
Mejorando el País mediante Código
Mejorando el País mediante CódigoMejorando el País mediante Código
Mejorando el País mediante CódigoErick Camacho
 
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDBIntroducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDBErick Camacho
 
Spring BlazeDS Integration + Flex 4
Spring BlazeDS Integration + Flex 4Spring BlazeDS Integration + Flex 4
Spring BlazeDS Integration + Flex 4Erick Camacho
 

Mais de Erick Camacho (11)

Modelos de Concurrencia
Modelos de ConcurrenciaModelos de Concurrencia
Modelos de Concurrencia
 
Realm para iOS
Realm para iOSRealm para iOS
Realm para iOS
 
Desarrollo de apps para AppleWatch con Watchkit
Desarrollo de apps para AppleWatch con WatchkitDesarrollo de apps para AppleWatch con Watchkit
Desarrollo de apps para AppleWatch con Watchkit
 
Integrando Swift y Objective-C
Integrando Swift y Objective-CIntegrando Swift y Objective-C
Integrando Swift y Objective-C
 
Porque debes de renunciar a tu empleo y desarrollar para iOS
Porque debes de renunciar a tu empleo y desarrollar para iOSPorque debes de renunciar a tu empleo y desarrollar para iOS
Porque debes de renunciar a tu empleo y desarrollar para iOS
 
CocoaHeads México: Introducción a CocoaTouch:UIKit
CocoaHeads México: Introducción a CocoaTouch:UIKitCocoaHeads México: Introducción a CocoaTouch:UIKit
CocoaHeads México: Introducción a CocoaTouch:UIKit
 
Lo que no te han contado sobre el desarrollo para iPhone/iPad
Lo que no te han contado sobre el desarrollo para iPhone/iPadLo que no te han contado sobre el desarrollo para iPhone/iPad
Lo que no te han contado sobre el desarrollo para iPhone/iPad
 
Ecosistemas software para Flex
Ecosistemas software para FlexEcosistemas software para Flex
Ecosistemas software para Flex
 
Mejorando el País mediante Código
Mejorando el País mediante CódigoMejorando el País mediante Código
Mejorando el País mediante Código
 
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDBIntroducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
 
Spring BlazeDS Integration + Flex 4
Spring BlazeDS Integration + Flex 4Spring BlazeDS Integration + Flex 4
Spring BlazeDS Integration + Flex 4
 

Último

Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 

Último (20)

Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 

Hands on Spring 2.5

  • 1. Hands-on Sergi Almar i Graupera (sergi.almar@javahispano.org)‏ Erick Camacho (ecamacho@javahispano.org)‏
  • 2.
  • 3. Java JDK 5 o superior Eclipse 3.3 (Europa)‏ Herramientas Hands-on Spring 2.5
  • 4. Es un contenedor ligero de inversión de control (IOC). Contenedor de POJOs: BeanFactory y ApplicationContext IOC: Inyección de dependencias ¿Qué es Spring? Hands-on Spring 2.5 Hands-on Spring 2.5
  • 5. ¿Qué es Spring? II Diseño modular y extensible Hands-on Spring 2.5
  • 6. ¿Qué es Spring? III Integración con otras tecnologías. “ Spring should not compete with good existing solutions, but should foster integration”. (Spring no debe competir con soluciones buenas existentes, sino buscar la integración)‏ misión de Spring JDBC JPA Hibernate iBatis TopLink Quartz Struts JSF WebServices JTA LDAP Hands-on Spring 2.5
  • 7. El application Context: La piedra de toque < beans xmlns = &quot;http://www.springframework.org/schema/beans&quot; xmlns:xsi = &quot;http://www.w3.org/2001/XMLSchema-instance&quot; xsi:schemaLocation = &quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd&quot; > < bean id = &quot;mibean&quot; class = &quot;com.mipaquete.MiClase&quot; /> </beans> Hands-on Spring 2.5
  • 8. Anotaciones - @Autowired @Qualifier - @Resource, @PostConstruct, @PostDestruct - @Configurable <context:load-time-weaver aspectj-weaving=&quot;on&quot;/> - Stereotypes @Component (@Controller, @Service, @Repository...)‏ - @Transactional Hands-on Spring 2.5
  • 9. Spring JPA Integración transparente Inyección del EntityManager gestionado por Spring Nuevo en 2.5: @Repository Hands-on Spring 2.5
  • 10. Spring Transacciones Capa de abstracción para uniformizar el uso de transacciones con muchas tecnologías como JTA, JXTA, JDBC, etc. Declarativa en el XML o mediante anotaciones Hands-on Spring 2.5
  • 11. Spring MVC: DispatcherServlet Hands-on Spring 2.5
  • 13. Beans especiales - Controladores - HandlerMappings - View resolvers - LocaleResolver - ThemeResolver - MultipartFileResolver Hands-on Spring 2.5
  • 14. Jerarquia controladores Hands-on Spring 2.5
  • 15. public class UsuarioController extends MultiActionController { public ModelAndView listar(HttpServletRequest req, HttpServletResponse res) {...} public ModelAndView buscar(HttpServletRequest req, HttpServletResponse res) {...} public ModelAndView mostrar(HttpServletRequest req, HttpServletResponse res) {...} } Ejemplo Spring 2.0 Hands-on Spring 2.5
  • 16. Spring MVC 2.5 simplifica la programación de Controladores - Anotaciones - Convention-over-configuration Spring MVC 2.5 Hands-on Spring 2.5
  • 17. - Nuevo model de controlador “multi-action” basado en POJO - Ya no es necesario extender de clases específicas del framework - Mapear URLs a métodos usando anotaciones @Controller Hands-on Spring 2.5
  • 18. @Controller public class UsuarioController { @RequestMapping public void listar() {...} @RequestMapping public void buscar(SearchCriteria criteria, BindingResult result) {...} @RequestMapping public void mostrar(@RequestParam(&quot;id&quot;) Long id) {...} } Ejemplo @Controller Hands-on Spring 2.5
  • 19. @RequestMapping - Mapea las peticiones - Diferentes estratégias para mapear - Simple - Relativo al nombre del controlador - Externalizado - Basado en convención (recomendado)‏ - Hands-on Spring 2.5
  • 20. @RequestMapping - Simple @Controller public class UsuarioController { @RequestMapping( “/usuario/listar” )‏ public void listar() {...} @RequestMapping( “/usuario/buscar” )‏ public void buscar(SearchCriteria criteria, BindingResult result) {...} @RequestMapping( “/usuario/mostrar” )‏ public void mostrar(@RequestParam(&quot;id&quot;) Long id) {...} } Hands-on Spring 2.5
  • 21. @RequestMapping – Relativo controlador @Controller @RequestMapping( “/usuario/*” )‏ public class UsuarioController { @RequestMapping public void listar() {...} @RequestMapping public void buscar(SearchCriteria criteria, BindingResult result) {...} @RequestMapping public void mostrar(@RequestParam(&quot;id&quot;) Long id) {...} } Hands-on Spring 2.5
  • 22. @RequestMapping – Externalizado @Controller public class UsuarioController { @RequestMapping public void listar() {...} @RequestMapping public void buscar(SearchCriteria criteria, BindingResult result) {...} @RequestMapping public void mostrar(@RequestParam(&quot;id&quot;) Long id) {...} } <bean class=“...SimpleUrlHandlerMapping”> <property name=&quot;mappings&quot;> <value> /usuario/*=usuarioController </value> </property> </bean> Hands-on Spring 2.5
  • 23. @RequestMapping – Convención <bean class =“...ControllerClassNameUrlHandlerMapping” /> @Controller public class UsuarioController { @RequestMapping public void listar() {...} @RequestMapping public void buscar(SearchCriteria criteria, BindingResult result) {...} @RequestMapping public void mostrar(@RequestParam(&quot;id&quot;) Long id) {...} } Hands-on Spring 2.5
  • 24. Binding -Simple @RequestMapping public void mostrar( @RequestParam ( &quot;id&quot; ) Long id) {...} Hands-on Spring 2.5
  • 25. @RequestMapping public void foo(HttpServletRequest req, ...) {...} @RequestMapping public void foo(HttpServletResponse res, ...) {...} @RequestMapping public void foo(HttpSession session, ...) {...} @RequestMapping public void foo(Locale locale, ...) {...} @RequestMapping public void foo(Principal principal, ...) {...} Parámetros especiales Hands-on Spring 2.5
  • 26. Seleccionar vistas Dos técnicas: - Por convención @Controller public class UsuarioController { @RequestMapping public void listar() {...} } - Nombre de vista en String @Controller public class UsuarioController { @RequestMapping public String listar() { return “/usuario/listar” ; } } Hands-on Spring 2.5
  • 27. Exponer objectos del modelo Dos técnicas: - Devolver un único objecto (no String; recomendado para casos simples)‏ - Declarar un Modelo y añadir parámetros (más flexible) Hands-on Spring 2.5
  • 28. @RequestMapping public List<Usuario> buscar(SearchCriteria criteria) {...} - El parámetro se expone en usuarioList - @RequestMapping public @ModelAttribute( “usuarios” ) List<Usuario> buscar(SearchCriteria criteria) {...} Devolver un Objeto Hands-on Spring 2.5
  • 29. @RequestMapping public void buscar(SearchCriteria criteria, Model model) { List<Usuario> usuarios = usuarioServicice.getUsuarios(criteria); model.addObject(“usuarios”, usuarios); } Añadir al modelo Hands-on Spring 2.5
  • 30. Exportar @Controllers Dos técnicas: - Definición del bean explícito <bean class = “...SimpleUrlHandlerMapping” > <property name=&quot;mappings&quot;> <value> /usuario/*=usuarioController </value> </property> </bean> <bean id =“ usuarioController ” class = “...UsuarioController” /> - Classpath scanning <context:annotation-config /> <context:component-scan base-package = ”com.mycompany.app” /> Hands-on Spring 2.5
  • 31. Form • JA-SIG CAS • Basic • JOSSO • JDBC • SiteMinder • LDAP • Atlassian Crowd • NTLM • OpenID • Containers • X.509 • JAAS • Digest Métodos de autenticación Hands-on Spring 2.5