Desarrollo Aplicaciones con Spring framework 3.0

Versión para impresoraVersión para impresora

Código:  PRO-FRW-SPRING   
Duración:  25 horas

Fechas previstas
Curso  bajo demanda

Descripcion del Curso

El curso proporciona los conocimientos necesarios para utilizar el framework Spring en el desarrollo de aplicaciones Java. Spring es un poderoso framework de aplicaciones que resuelve muchos de los problemas comunes en el desarrollo de aplicaciones Java (SDK y EE). 

Spring proporciona una forma consistente de manejo de objetos de negocio y fomenta las buenas prácticas como es la programación orientada  hacia interfaces, más que a clases. La arquitectura básica de Spring es un contenedor de Inversión de Control basado en el uso de propiedades de los JavaBeans. Sin embargo, esto no es todo el framework, Spring es único en usar un contenedor de IoC como el bloque básico de construcción en una solución comprensiva que conjunta todas las capas de una aplicación.

Objetivo

Las personas que realicen el curso aprenderán a:

  • Entender los conceptos "Inyección de dependencias" e "Inversión del Control"
  • Entender y aplicar los conceptos de AOP (Aspect Oriented Programming)
  • Diseñar aplicaciones con capas y contratos bien definidos
  • Aplicar las mejores practicas para acceso a datos usando JDBC y Hibernate
  • Configurar spring para la gestión de transacciones
  • Aprender a construir aplicaciones web con SpringMVC
  • Conocer como exportar servicios usando diversas técnicas de Remoting (RMI, WebServices, JMS)

Prerequisitos

Para obtener el máximo aprovechamiento del curso, los alumnos necesitan:

  • Amplio conocimiento del lenguaje Java
  • Conocimiento de JDBC, deseable Hibernate
  • Experiencia en desarrollo de aplicaciones web con Java
  • Conocimientos de Java EE

A quién va dirigido

  •  programadores Java que quieren desarrollar aplicaciones de empresa Java utilizando el framework Sprnig 3.0..

Cursos Relacionados a realizar antes

SL-275-SE6: Programación Java
OO-226: Análisis y Diseño OO con UML
 

Cursos Relacionados a realizar después

SL-314-EE5: Desarrollo de Componentes Web con Tecnología Java (Servlet y JSPs)
SL-351-EE5: Desarrollo Avanzado de Componentes de Negocio con Tecnología EJB

Contenido

  • Introducción al Framework Spring 3.0
    • ¿Qué es Spring?
    • Comprender la Inyección de Dependencias o Inversión del Control
    • Módulos Spring
    • Arquitecturas posibles
  • El contenedor de IoC de Spring

    • Introducción
    • Conceptos básicos (Contenedores y beans)
      • ¿Qué es el contenedor IoC?
      • Configuración, instanciación y uso de contenedor
      • ¿Qué son los beans?
      • Nombrado, instanciación y uso de beans
    • Inyección de dependencias
    • Inyección por construcción
    • Inyección por mutador (setter)
    • Configuración de las dependencias en detalle
      • Valores directos (primitivos, String, etc.)
      • Referencias a otros beans (Colaboradores)
      • Beans internos
      • Colecciones
      • Valores Nulos
      • Atajos y otras opciones convenientes para configuración basada en XML
      • Nombres de propiedades compuestas
      • Uso de "depends on"
      • Instanciación  de beans perezosa
      • Verificación de dependencias
      • Inyección de métodos
        • búsqueda
        • reemplazo arbitrario de métodos
    • Alcance de los beans (bean scope)
      • ámbito singleton
      • ámbito prototype
      • Beans singleton con dependencias a beans prototype
      • Otros alcances
        • Configuración Web inicial
        • ámbito Request
        • ámbito Session
        • ámbito Global Session
        • ámbito beans as dependencies
    • Personalización de la naturaleza de un bean
      • Ciclo de vida de retrollamadas (Callbacks)
        • Callbacks de inicialización
        • Callbacks de liberación (destroy)
        • Inicialización por defecto y métodos de liberación
        • Combinación de mecanismos de ciclo de vida
        • Apagado del contenedor de IoC en aplicaciones no Web
      • BeanFactoryAware
      • BeanNameAware
    • Definición de herencia de beans
    •  ApplicationContext
      • BeanFactory o ApplicationContext
      • Internacionalización
      • Eventos
      • Acceso a recursos de bajo nivel
      • Instanciación de ApplicationContext en aplicaciones Web
    • Configuración basada en anotaciones
      • @Autowired y @Inject
      • Afinación de auto cableado basado en anotaciones con calificadores
      • CustomAutowireConfigurer
      • @Resource
      • @PostConstruct & @PreDestroy
    • Escaneo de Classpath para componentes administrados
      • @Component and further stereotype annotations
      • Auto detección de componentes
      • Filtros para personalización del escaneo
      • Nombrado de componentes auto detectados
      • Alcance de componentes auto detectados
    • Configuración del contenedor basado en código Java (JavaConfig)
  • AOP con Spring
    • Introduccióna AOP
    • Creación de un Aspecto clásico de Spring
      • Declaración de aspectos
      • Declaración de pointcuts
      • Declaración de Advices
      • Uso de ProxyFactoryBean
    • Soporte @AspectJ
      • Habilitación del soporte @AspectJ
      • Declaración de aspectos
      • Declaración de pointcuts
      • Declaración de Advices
      • Uso de AspectJ con aplicaciones Spring
  • Acceso a datos con JDBC
    • Introducción
    • Configuración de la fuente de datos (DataSource)
      • Definir un data source  mediante driver JDBC
      • Obtener un data source mediante JNDI del servidor de aplicaciones
      • Definir un pool de Connexiones de Spring
    • Uso de las clases Core de JDBC para un control básico de procesamiento JDBC y proceso de errores
      • JdbcTemplate
      • NamedParameterJdbcTemplate
      • SimpleJdbcTemplate
      • Simplificacion de operaciones con SimpleJdbc
      • Modelado de operaciones JDBC con objetos Java
        • SqlQuery
        • MappingSqlQuery
        • SqlUpdate
        • StoredProcedure
        • SqlFunction
  • Acceso a datos con ORM's
    • Intro
    • Integración de Spring con Hibernate
      • Configuración  de plantillas de  Hibernate
      • Uso de ficheros de mapeo clasicos de Hibernate
      • Uso de clases entidad con anotaciones
      • Acceso a los datos mediente plantillas Hibernate
    • Integración de Spring con JPA
      • Uso de plantillas JPA
      • Acceso a datos mediante plantillas JPA
      • Configuración de  la factoria de Entity Managers
      • Configurar el  container-manager JPA
      • Construir un DAO JPA
         
  • Administración de transacciones
    • Comprender como Spring soporta la gestión de transacciones
    • Elegir un gestor transaccional
    • Conocer las transacciones JDBC
    • Conocer las transacciones con hiberante
    • Conocer las transaccioens con  JPA
    • Implenetar con Spring un sistema de gestión transaccional programático
    • Implenetar con Spring un sistema de gestión transaccional declarativo mediante anotaciones
  • SpringMVC
    • El contexto de Spring en un entorno  Web
    • El patrón de diseo MVC y Spring MVC
    • El framework Spring Web MVC
      • El desachador DispatcherServlet
      • Implementar Controladores
      • La gestión del mapeo de páginas (navegación)
      • Resolver vistas con el inferfaz ViewResolver
      • Uso de locale
      • Uso de temas
      • Soporte al manejo de archivos
      • Manejo de excepciones
      • Convencionessobre configuración
      • Soporte ETag
      • Configuraciones adicionales
    • Integración de Spring con JSF (JavaServer  Faces)
       
  • Servicios Remotos con Spring
    • Introducción a Spring Remoting
    • RMI Remoting
      • Crear servicios RMI
      • Exportar y configurar servicios RMI en Spring
    • Servicios Web
      • Crear servicios web
      • Exportar beans como servicios web usando XFire
      • Consumir servicios web
    • JMS
      • JmsTemplate