Detalle del libro
Ver Índice
Agradecimientos
Sobre el autor
Introducción
Sobre este libro
Hoja de ruta
Convenciones
Código fuente
Sobre la ilustración de la cubierta
Parte I. El núcleo de Spring
1. Pasar a la acción
Simplificar el desarrollo en Java
Liberar el potencial de los POJO
Inyectar dependencias
- Funcionamiento de la DI
- Inyectar una hazaña en un caballero
- La aplicación en funcionamiento
Aplicar aspectos
- AOP en funcionamiento
Eliminar código reutilizable con plantillas
Contenedores para bean
Trabajar con un contexto de aplicación
La vida de un bean
Componentes de Spring
Módulos de Spring
- Contenedor del núcleo de Spring
- Modulo AOP de Spring
- Acceso de datos e integración
- Web y acceso remoto
- Instrumentación
- Pruebas
El catálogo de Spring
- Spring Web Flow
- Spring Web Services
- Spring Security
- Spring Integration
- Spring Batch
- Spring Data
- Spring Social
- Spring Mobile
- Spring para Android
- Spring Boot
Novedades en Spring
- Novedades de 3.1
- Novedades de 3.2
- Novedades de Spring 4.0
Resumen
2. Conexión de bean
Opciones de configuración de Spring
Conexión automática de bean
Crear bean detectables
Asignar nombres a bean de análisis de componentes
Definir un paquete base para el análisis de componentes
Anotar bean para su conexión automática
Verificar la configuración automática
Conectar bean con Java
Crear una clase de configuración
Declarar un bean sencillo
Inyecciones con JavaConfig
Conectar bean con XML
Crear una especificación de configuración XML
Declarar un sencillo elemento
Inicializar un bean con inyecciones de constructor
- Inyectar constructores con referencias de bean
- Inyectar valores literales a constructores
- Conectar colecciones
Configurar propiedades
- Inyectar propiedades con valores literales
Importar y combinar configuraciones
Hacer referencia a configuración XML en JavaConfig
Hacer referencia a JavaConfig en configuración XML
Resumen
3. Técnicas avanzadas de conexión
Entornos y perfiles
Configurar bean de perfiles
- Configurar perfiles en XML
Activar perfiles
- Realizar pruebas con perfiles
Bean condicionales
Solucionar ambigüedades en conexiones automáticas.
Designar un bean principal
Calificar bean conectados automáticamente
- Crear calificadores personalizados
- Definir anotaciones de calificador personalizadas
Ámbitos de bean
Trabajar con el ámbito de sesión y de solicitud
Declarar proxy con ámbito en XML
Inyectar valores en tiempo de ejecución
Inyectar valores externos
- Dentro del entorno de Spring
- Resolver marcadores de posición de propiedades
Conexiones con SpEL
- Ejemplos de SpEL
- Expresar valores literales
- Referencias a bean, propiedades y métodos
- Trabajar con tipos en expresiones
- Operadores de SpEL
- Evaluar expresiones regulares
- Evaluar colecciones
Resumen
4. Spring orientado a aspectos
Qué es la programación orientada a aspectos
Terminología de AOP
- Consejo
- Puntos de cruce
- Puntos de corte
- Aspectos
- Introducciones
- Entrelazado
Compatibilidad de Spring con AOP
- Los consejos de Spring se escriben en Java
- Spring aconseja los objetos en tiempo de ejecución
- Spring solo admite puntos de cruce de método
Seleccionar puntos de cruce con puntos de corte
- Escribir puntos de corte
- Seleccionar bean en puntos de corte
Crear aspectos anotados
- Definir un aspecto
- Anotaciones alrededor del consejo
- Procesar parámetros en consejos
- Anotar introducciones
Declarar aspectos en XML
- Declarar antes y después de un consejo
- Declarar alrededor del consejo
- Pasar parámetros a consejos
- Incluir nuevas funcionalidades mediante aspectos
Inyectar aspectos de AspectJ
Resumen
Parte II. Spring en la Web
5. Crear aplicaciones Web de Spring
Introducción a Spring MVC
Seguir el ciclo de vida de una solicitud
Configurar Spring MVC
- Configurar DispatcherServlet
- Historia de dos contextos de aplicación
- Habilitar Spring MVC
La aplicación Spittr
Crear un sencillo controlador
Probar el controlador
Definir procesamiento de solicitudes en el nivel de la clase
Pasar datos del modelo a la vista
Aceptar entradas de solicitud.
Aceptar parámetros de consulta
Aceptar entradas a través de parámetros de ruta
Procesar formularios
Crear un controlador de procesamiento de formularios
Validar formularios
Resumen
6. Representar vistas Web
Resolución de vistas
Crear vistas JSP
Configurar un solucionador de vistas compatible con JSP
- Resolver vistas JSTL
Utilizar las bibliotecas JSP de Spring
- Vincular formularios al modelo
- Mostrar errores
- La biblioteca de etiquetas generales de Spring
- Mostrar mensajes internacionalizados
- Crear URL
- Escapar contenido
Definir un diseño con vistas Apache Tiles.
Configurar un solucionador de vistas Tiles
- Definir mosaicos
Trabajar con Thymeleaf
Configurar un solucionador de vistas Thymeleaf
Definir plantillas Thymeleaf
- Vincular formularios con Thymeleaf
Resumen
7. Operaciones avanzadas con Spring MVC
Configuración alternativa de Spring MVC
Personalizar la configuración de DispatcherServlet
Añadir servlet y filtros adicionales
Declarar DispatcherServlet en web.xml
Procesar datos de formularios multiparte
Configurar un solucionador multiparte
- Resolver solicitudes multiparte con Servlet 3.0
- Configurar un solucionador multiparte Jakarta Commons Fileupload
Procesar solicitudes multiparte
- Recibir un archivo multiparte
- Guardar archivos en Amazon S3
- Recibir el archivo transferido como parte
Controlar excepciones
Asignar excepciones a códigos de estado HTTP
Crear métodos de control de excepciones
Aconsejar controladores
Transferir datos entre solicitudes de redirección
Redirecciones con plantillas de URL
Trabajar con atributos flash
Resumen
8. Trabajar con Spring Web Flow
Configurar Web Flow en Spring
Conectar un ejecutor de flujo
Configurar un registro de flujo
- Procesar solicitudes de flujo
Componentes de un flujo
Estados
- Estados de vista
- Estados de acción
- Estados de decisión
- Estados de subflujo
- Estados finales
Transiciones
- Transiciones globales
Datos del flujo
- Declaración de variables
- Ámbitos de datos de flujo
Combinar todas las piezas: el flujo pizza
Definición del flujo base
Obtener información del cliente
- Solicitar un número de teléfono
- Buscar el cliente
- Registrar un nuevo cliente
- Comprobar el área de reparto
- Almacenar los datos del cliente
- Finalizar el flujo
Crear un pedido
Gestión de los pagos
Proteger flujos Web
Resumen
9. Seguridad en Spring
Introducción a Spring Security.
Módulos de Spring Security
Filtrar solicitudes Web
Crear una sencilla configuración de seguridad
Seleccionar servicios de detalles de usuario
Trabajar con un repositorio de usuarios en memoria
Autenticar sobre tablas de base de datos
- Reemplazar las consultas de usuario predeterminadas
- Trabajar con contraseñas codificadas
Aplicar autenticación basada en LDAP
Configurar la comparación de contraseñas
Hacer referencia a un servidor LDAP remoto
Configurar un servidor LDAP integrado
Configurar un servicio de usuario personalizado
Interceptar solicitudes
Seguridad con expresiones de Spring
Reforzar la seguridad del canal
Evitar falsificaciones de petición en sitios cruzados
Autenticar usuarios.
Añadir una página de inicio de sesión personalizada
Habilitar autenticación HTTP básica
Activar la característica para recordar información
Cerrar sesión
Proteger la vista
Utilizar la biblioteca de etiquetas JSP de Spring Security
- Acceder a la información de autenticación
Representación condicional
Trabajar con el dialecto Spring Security de Thymeleaf
Resumen
Parte III. Spring en el servidor
10. Acceso a bases de datos con Spring y JDBC
Filosofía de acceso a datos de Spring
Jerarquía de excepciones de Spring
- Excepciones de persistencia en Spring independientes de [...]
Spring es un framework de código abierto imprescindible para facilitar el desarrollo de aplicaciones en Java. Spring 4, la nueva versión, se integra de forma total con Java 8 e incorpora importantes mejoras como nuevas anotaciones para el contenedor IoC, el lenguaje de expresiones de Spring y la necesaria compatibilidad con REST.
Con independencia de que sea un usuario novato que acaba de descubrir Spring o de que quiera aprender las nuevas características, no hay mejor forma de dominar Spring que a través de este libro.
Con un estilo práctico, Craig Walls presenta Spring de la forma más interesante para un desarrollador Java, incluyendo ejemplos procedentes de casos reales que se centran en las características y técnicas que realmente necesita aprender. Analiza el núcleo de Spring junto a las novedades de seguridad, MVC, WebFlow, entre otras. Incluye fragmentos de código y ejemplos prácticos que le permitirán crear aplicaciones JEE sencillas y eficaces.