Desarrollo Profesional con Springframework 4

Temario
 

1. DESARROLLO DEL FRAMEWORK

1.1. Versiones de Spring

1.2. Lo nuevo de Spring 4.0

2. SPRING IO PLATFORM

2.1. Elementos de la plataforma

2.2. Proyectos Spring IO

3. HERRAMIENTAS PARA EL CURSO

3.1. STS, Gradle, GitHub

4. CONCEPTOS BÁSICOS

4.1. ¿Qué es Spring?

4.2. Componentes de Spring Framework

4.2.1. Ventajas del uso de inyección de dependencias

4.3. Contenedor de beans

4.3.1. Configuraciones.

4.3.2. BeanFactoy, ApplicationContext

4.3.3. Instanciando el contenedor de beans

4.4. Manejo de dependencias

4.4.1. Inversion of Control (IoC)

4.4.2. Inyección de dependencias (DI)

4.5. Beans y sus dependencias.

4.5.1. Concepto de bean

4.5.2. Formas de instanciar

4.5.3. Formas de inyectar dependencias

4.5.4. Otras configuraciones

4.5.4.1. Colecciones

4.5.4.2. Lazy -initialized beans

4.5.4.3. Namespace p

4.5.4.4. Namespace c

4.6. Scopes

4.7. Ciclo de vida de un bean

4.8. Inyección de métodos.

4.8.1. Uso de proxies.

5. CONFIGURACIÓN VÍA ANOTACIONES

5.1. Escaneo del classpath

5.1.1. Anotaciones estereotipo @Component, @Service, @Repository, @Controller

5.1.2. Anotaciones estándar JSR 330

5.1.3. Auto detección de componentes

5.2. Configuración y dependencias vía anotaciones

5.2.1. @Required, @Autowired, @Resource, @PostConstruct and @PreDestroy

5.3. Configuración vía Java

5.3.1. @Bean @Configuration, @Import

6. DISEÑO DE APLICACIONES CON SPRING FRAMEWORK

6.1. Sistemas multicapa.

6.2. Domain Driven Design (DDD)

6.2.1. Definición del modelo de dominio.

6.3. Interface Driven Design

6.3.1. Beneficios

6.3.2. Definición del proyecto en términos de interfaces.

6.4. Test-driven development.

6.4.1. Pruebas unitarias

6.4.2. Pruebas de integración

6.5. Construcción del proyecto con Gradle

6.5.1. Multi - proyectos con Gradle

6.5.2. Integración continua

6.5.3. Configuración adecuada de bitácoras SLF4J

7. RESOURCES

7.1. Concepto de Resource en Spring

7.2. La interface Resource

7.3. Principales implementaciones

7.3.1. ApplicationContext y resource paths

8. INTRODUCCIÓN A SPRING EXPRESSION LANGUAGE (SPEL)

8.1. Evaluación de expresiones

8.2. Soporte de expresiones en XML

8.3. Soporte de expresiones e inyección en código


9. DESARROLLO DE LA CAPA DE ACCESO A DATOS.

9.1. DAO Support

9.1.1. Patrón de diseño DAO

9.1.2. Clases que integran el soporte de acceso a datos de Spring.

9.1.3. Jerarquía y manejo de excepciones

9.2. JDBC Spring DAO Support

9.2.1. DataSources

9.2.2. DataSourceUtils

9.2.3. JdbcTemplate

9.2.3.1. Uso y selección correcta de los métodos con JdbcTemplate.

9.2.3.2. Inserción, modificación, y eliminación

9.2.3.3. Recuperación de PKs

9.2.3.4. Consultas y Callbacks

9.2.4. NamedParameterJdbcTemplate


9.3. Operaciones Batch con JdbcTemplate

9.4. Mapeos básicos con Jdbc

9.4.1. SqlQuery, MappingSqlQuery, SqlUpdate



9.5. Otras operaciones

9.5.1. Manejo de objetos CLOB, BLOB

9.5.2. Paso de múltiple valores en la cláusula IN

9.6. Soporte de bases de datos embebidas

9.6.1. H2

9.6.2. HSQL

9.7. ORM Data Access Support

9.7.1. ORM y Spring

9.7.2. Hibernate 3 DAO Support

9.7.2.1. HibernateTemplate ¿por qué ya no debe emplearse?

9.7.3. Hibernate 4

9.7.3.1. Construcción de clases de utilidad

9.7.3.2. Configuración del SessionFactory

9.7.3.3. Configuración del TransactionManager

10. DESARROLLO DE SERVICIOS TRANSACCIONALES.

10.1. Implementación de servicios de negocio

10.1.1. Uso de @Service

10.1.2. Inyección de dependencias en servicios de negocio

10.1.3. Buenas prácticas: convención sobre configuración

10.2. Administración de transacciones en Spring Framework

10.2.1. Modelo de programación de transacciones

10.2.2. Transacciones globales y locales

10.3. AOP y el manejo de transacciones

10.3.1. Join point, Advice, Pointcut, Aspects, Introduction, Target object.

10.3.2. AOP Proxy.

10.3.3. Aspectos con XML

10.3.4. Aspectos y el schema AOP

10.3.5. Aspectos con anotaciones.

10.3.6. Configuración de transacciones con XML

10.3.7. Uso de @Transactional y sus atributos.

11. DESARROLLO DE LA CAPA WEB CON SPRING MVC

11.1. Características de SpringMVC

11.1.1. El Patrón MVC

11.2. DispatcherServlet

11.2.1. Configuración vía DispatcherServlet, ContextLoaderListener

11.2.2. WebApplicationContext.

11.3. Controllers @Controller

11.3.1. Mapping requests @MappingRequest

11.3.2. URI templates, path paterns, matrix variables.

11.3.3. Parámetros y valores de retorno en métodos de un controller

11.3.4. @RequestBody, @ModelAttribute, @SessionAttributes

11.4. Convención sobre configuración en Spring MVC

11.4.1. ControllerClassNameHandlerMapping

11.4.2. Convención en ModelMap

11.5. Resolución de vistas

11.5.1. View resolvers

11.5.2. Url view resolvers

11.5.3. :redirect, :forward

11.6. Manejo de formularios

11.6.1. JSP y JSTL

11.6.2. Tags de la librería de Spring <form:XXX>

11.6.3. BindingResult

11.6.4. @InitBinder

11.7. Validación de formularios

11.7.1. @Valid, y la interface Validator

11.7.2. Configurando validadores con @InitBinder

11.7.3. Archivos de mensajes

11.7.4. @Valid, validación por anotaciones JSR 303

11.7.5. Tag <form:errors>

11.8. Interceptores

11.9. Manejo de archivos.

11.10. Manejo de excepciones.

11.10.1. @ExceptionResolver

11.11. El esquema :mvc

11.11.1. mvc:annotation-driven

11.11.2. mvc:interceptors

11.11.3. mvc:view-controller

12. WEBSOCKETS CON SPRING FRAMEWORK

12.1. Conceptos básicos

12.1.1. Introducción

12.1.2. Arquitectura de mensajería

12.1.3. ¿Cuándo emplear WebSockets?

12.2. WebSocket Server

12.2.1. Configuración.

12.3. Fallback Options

12.3.1. SockJS

12.4. STOMP Messaging

12.4.1. Configuración

12.4.2. Annotation-based Message Handling