SPRING

SPRING

WALLS, CRAIG

54,50 €
IVA incluido
Editorial:
ANAYA MULTIMEDIA, S.A.
Año de edición:
2008
ISBN:
978-84-415-2497-2
Páginas:
704
Encuadernación:
Rústica

Disponibilidad:

  • Calle Doce de OctubreConsulte disponibilidad
  • Calle Valeriano MirandaConsulte disponibilidad

Agradecimientos
Sobre el autor

Prefacio

Introducción
Mapa
Contenido Web adicional
¿Quién debería leer este libro?
Convenciones de código
Código fuente
Sobre la ilustración de cubierta


Parte I. Núcleo de Spring

1. Pasar a la acción
¿Qué es Spring?
Módulos de Spring
El contenedor núcleo
Módulo de contexto de aplicación
Módulo AOP de Spring
Abstracción JDBC y el módulo DAO
Módulo de integración de ORM (mapeo objeto-relacional)
Extensiones de gestión de Java (JMX)
Java EE Connector API (JCA)
Marco de trabajo Spring MCV
Spring Portlet MVC
Módulo Web de Spring
Acceso remoto
Java Message Service (JMS)
Puesta en marcha de Spring
Comprender la inyección de dependencia
Inyección de dependencias
Inyección de dependencia en acción
Comprobación del caballero
¿Quién llama a quién?
Desacoplar con interfaces
Dar y recibir
Asignar una búsqueda a un caballero
Ver cómo funciona
Inyección de dependencia en aplicaciones empresariales
Aplicación de la programación orientada a aspectos
Presentación de AOP
AOP en acción
Tejer el aspecto
Resumen

2. Conexión básica de bean
Contener los beans
Presentación de la BeanFactory
Trabajar con un contexto de aplicación
La vida de un bean
Creación de beans
Declarar un bean simple
Inyectar a través de constructores
Inyectar referencias de objeto con constructores
Inyectar en las propiedades del bean
Inyectar valores simples
Referenciar otros beans
Inyectar beans internos
Conectar colecciones
Listas y matrices
Conjuntos
Mapas
Propiedades
No conectar nada (null)
Autoconexión
Los cuatro tipos de autoconexión
Autoconexión por nombre
Autoconexión por tipo
Utilizar la autoconexión por constructor
Detección automática de autoconexión
Autoconexión por defecto
Mezclar la conexión automática y explícita
Autoconectar o no autoconectar
Controlar la creación de beans
Delimitación de bean
Crear beans desde métodos de fábrica
Inicializar y destruir beans
Predeterminar init-method y destroy-method
InitializingBean y DisposableBean
Resumen

3. Conexión avanzada de beans
Declarar beans padres e hijos
Abstraer un tipo de bean base
Obviar propiedades heredadas
Abstraer propiedades comunes
Aplicación de inyección de método
Sustitución básica de método
Uso de la inyección de getter
Inyección de beans no Spring
Registro de editores de propiedad personalizados
Trabajar con beans especiales de Spring
Beans de postprocesamiento
Escritura de un bean de postprocesamiento
Registro de beans de postprocesamiento
Bean postprocesadores propios de Spring
Postprocesamiento de la fábrica de bean
Externalización de propiedades de configuración
Resolución de mensajes de texto
Desacoplar con eventos de aplicación
Publicación de eventos
Detección de eventos
Concienciar beans
Conocerse a uno mismo
Saber dónde vive
Programar beans
Poner la lima en el coco
Programar un bean
Programa Lime en Ruby
Programar Lime en Groovy
Programar Lime en BeanShell
Inyectar propiedades en beans programados
Actualización de beans programados
Escribir beans programados en línea
Resumen

4. Notificaciones a beans
Presentación de AOP
Definición de terminología AOP
Notificación
Punto de unión
Punto de corte
Aspecto
Introducción
Destinatario
Resultante
Weaving
Soporte AOP de Spring
Las notificaciones de Spring se escriben en Java
Spring notifica los objetos en tiempo de ejecución
Spring sólo da soporte a puntos de unión de método
Crear aspectos clásicos de Spring
Creación de notificaciones
Notificar antes
Notificar después del retorno
Notificación después de lanzamiento
Notificar alrededor
Definir puntos de corte y notificaciones
Declarar un punto de corte de una expresión habitual
Combinar un punto de corte con un notificador
Definición de puntos de corte AspectJ
Uso de ProxyFactoryBean
Abstracción de ProxyFactoryBean
Autoproxying
Crear autoproxy para aspectos de Spring
Autoproxying de aspectos @AspectJ
Anotación alrededor de notificación
Declaración de aspectos POJO puros
Inyección de aspectos AspectJ
Resumen


Parte II. Spring empresarial

5. Peticiones a la base de datos
La filosofía de acceso a datos de Spring
Conocer la jerarquía de excepciones de acceso a datos de Spring
Excepciones agnósticas de plataforma de persistencia de Spring
¡Mira, mamá! ¡Sin bloques catch!
Plantillas de acceso a datos
Uso de clases de soporte DAO
Configuración de una fuente de datos
Uso de fuentes de datos JNDI
Fuentes de datos JNDI en Spring 2.0
Utilizar una fuente de datos agrupada
Fuente de datos basada en controlador JDBC
Utilizar JDBC con Spring
Abordar el código JDBC desbocado
Trabajar con plantillas JDBC
Acceso a datos mediante JdbcTemplate
Utilizar parámetros nombrados
Simplificación de JDBC en Java 5
Utilizar las clases de soporte DAO para JDBC
Soporte DAO para parámetros nombrados
DAO de Java 5 simplificado
Integración de Hibernate con Spring
Escoger una versión de Hibernate
Utilizar plantillas de Hibernate
Utilizar archivos de mapeo clásicos de Hibernate
Trabajar con objetos de dominio anotados
Acceso a datos a través de la plantilla de Hibernate
Construir DAO respaldados por Hibernate
Utilizar las sesiones contextuales de Hibernate 3
Spring y Java Persistence API
Utilizar plantillas JPA
Acceso a datos a través de la plantilla JPA
Configurar una fábrica gestor de entidad
Configurar JPA gestionado por la aplicación
Configuración de JPA gestionado por el contenedor
Construir un DAO respaldado en JPA
Spring e IBATIS
Configurar una plantilla cliente de iBATIS
Configurar una SqlMapClientTemplate
Definir mapas SQL de iBATIS
Utilizar la plantilla en un DAO
Construir un DAO respaldado en iBATIS
Duplicación de datos
Configurar una solución de duplicado
Configuración de EHCache
Beans proxy para el duplicado de datos
Limpiar la caché
Declarar un bean proxy interno
Duplicado de datos mediante anotación
Resumen

6. Gestión de transacciones
Comprender las transacciones
Explicación de las transacciones en sólo cuatro palabras
Soporte para gestión de transacciones de Spring
Seleccionar un gestor de transacciones
Transacciones JDBC
Transacciones Hibernate
Transacciones Java Persistence API
Transacciones de Java Data Objects
Transacciones de Java Transaction API
Programar transacciones en Spring
Declarar transacciones
Definición de atributos de transacción
Comportamiento de propagación
Niveles de aislamiento
Sólo lectura
Intervalo de transacción
Reglas de eliminación
Transacciones proxy
Creación de una plantilla proxy de transacción
Declaración de transacciones en Spring 2.0
Definición de transacciones dirigidas por anotaciones
Resumen

7. Seguridad en Spring
Introducción a la seguridad en Spring
¿Qué importa el nombre?
Interceptores de seguridad
Gestores de autenticación
Gestores de decisión de acceso
Gestores ejecutar-como
Gestores tras-invocación
Autenticar usuarios
Configurar un gestor de proveedor
Autenticación contra una base de datos
Utilizar un Dao in-memory
Declarar un DAO JDBC
Trabajar con contraseñas encriptadas
Duplicar información de usuario
Autenticación contra un repositorio LDAP
Autenticación con vinculación LDAP
Autenticación mediante comparación de contraseñas
Declarar el bean de estrategia populator
Controlar el acceso
Votos de decisiones de acceso
Emisión de un voto de decisión de acceso
Manejo de abstenciones de votante
Seguridad en aplicaciones Web
Proxy de filtros de Spring Security
Proxy de filtros servlet
Delegar múltiples filtros
Configuración de proxies para Spring Security
Manejar el contexto de seguridad
Pedir el registro del usuario
Autenticación básica
Autenticación basada en formulario
Manejo de excepciones de seguridad
Manejo de excepciones de autorización
Implementación de seguridad Web
Garantizar un canal seguro
Gestión de decisiones de canal
Seguridad de capa de visualización
Mostrar contenido de forma condicional
Mostrar información de autenticación de usuario
Asegurar invocaciones de método
Creación de un aspecto de seguridad
Asegurar métodos utilizando metadatos
Resumen

8. Servicios remotos basados en Spring y POJO
Visión general del acceso remoto en Spring
Trabajar con RMI
Conexión de servicios RMI
Exportación de servicios RMI
Configurar un servicio RMI en Spring
Servicio remoto con Hessian y Burlap
Acceso a servicios Hessian/Burlap
Mostrar la funcionalidad del bean con Hessian/Burlap
Exportar un servicio Hessian
Configuración del controlador Hessian
Exportar un servicio Burlap
Uso del HttpInvoker de Spring
Acceso a servicios a través de HTTP
Mostrar beans como servicios HTTP
Spring y los servicios Web
Exportar beans como servicios Web utilizando XFire
Configuración de XFireExporter
Configuración de DispatcherServlet
Mapeo de peticiones a XFireExporter
Declaración de servicios Web con anotaciones JSR-181
Mapeo de peticiones a beans anotados con JSR-181
Consumo de servicios Web
Conexión de JaxRpcPortProxyFactoryBean
Mapeo de tipos complejos
Mapeo de matrices
Delegar servicios Web con un cliente XFire
Resumen

9. Construcción de servicios Web contract-first en Spring
Presentación de Spring-WS
Definición del contrato (¡primero!)
Creación de mensajes XML de muestra
Creación del contrato de datos
Manejar mensajes con extremos finales de servicio
Construir un extremo de mensaje de base JDOM
Serialización de carga útil de mensaje
Conectarlo todo
Spring-WS: Visión global
Mapeo de mensajes hacia extremos
Conexión el extremo del servicio
Configuración de un serializador de mensaje
Manejo de excepciones de extremo
Servir archivos WSDL
Utilizar WSDL pre-definido
Implementación del servicio
Consumo de servicios Web de Spring-WS
Trabajar con plantillas de servicio Web
Enviar un mensaje
Utilizar serializadores en el lado del cliente
Utilizar soporte gateway de servicio Web
Resumen

10. Mensajería Spring
Una breve introducción a JMS
Arquitectura de JMS
Modelo de mensajería punto a punto
Modelo de mensajería emisor/suscriptor
Evaluación de las ventajas de JMS
Sin esperas
Orientada a mensajes
Independencia de ubicación
Entrega garantizada
Configuración de ActiveMQ en Spring
Creación de una fábrica de conexión
Declarar un destino de mensaje ActiveMQ
Utilizar JMS con Spring
Afrontar el código JMS desmedido
Trabajar con plantillas JMS
Conexión de JmsTemplate
Envío de mensajes
Establecer un destino predeterminado
Consumo de mensajes
Conversión de mensajes
Envío y recepción de mensajes convertidos
Conexión de un conversor de mensaje
Utilizar el soporte de Spring para clases gateway de JMS
Crear POJO dirigidos por mensajes
Crear un oyente de mensaje
Contenedor de oyente de mensajes
Trabajar con MDP transaccionales
Escribir MPD POJO
Convertir MDP en mensajes
Utilizar RPC basado en mensajes
Introducción a Lingo
Exportar el servicio
Delegar JMS
Conectar JmsProxyFactoryBean
Realizar la llamada
Resumen

11. Spring y Enterprise Java Beans
Conexión de EJB en Spring
Delegar beans de sesión (EJB 2.x)
Declarar proxies de EJB con espacio de nombre JEE en Spring
Declarar beans de sesión EJB 3 en Spring
Conectar EJB a beans de Spring
Desarrollo de EJBs habilitados para Spring (EJB 2.x)
Spring y EJB 3
Introducción de Pitchfork
Primeros pasos con Pitchfork
Inyectar recursos mediante anotación
Declarar interceptores utilizando anotaciones
Resumen

12. Acceso a servicios empresariales
Conectar objetos desde JNDI
Trabajar con JNDI convencional
Inyectar objetos JNDI
Duplicación de objetos JNDI
Carga perezosa de objetos JNDI
Objetos de vuelta atrás
Conectar objetos JNDI en Spring 2
Enviar correos electrónicos
Configuración de un emisor de correos electrónicos
Utilizar una sesión de correo JNDI
Conectar el emisor de correo a un bean de servicio
Construir el mensaje de correo
Programación de tareas
Planificación con Timer de Java
Creación de una tarea programada
Programar la tarea programada
Iniciar el temporizador
Retrasar el inicio del temporizador
Utilizar el programador Quartz
Crear una tarea Quartz
Programar la tarea
Programar una tarea cron
Iniciar la tarea
Invocar métodos según una programación
Gestión de beans de Spring con JMX
Exportar beans de Spring como MBeans
Exponer métodos por nombre
Utilizar interfaces para definir operaciones y atributos de MBean
Trabajar con MBeans basados en metadatos
Manejar colisiones de nombre de objeto MBean
MBeans remotos
Exponer MBeans remotos
Acceso a MBeans remotos
MBeans proxy
Manejar notificaciones
Atender notificaciones
Resumen


Parte III. Spring del lado cliente

13. Manejo de peticiones Web
Primeros pasos con Spring MVC
Un día en la vida de una petición
Configuración de DispatcherServlet
Dividir el contexto de aplicación
Configurar un cargador de contexto
Spring MVC en pocas palabras
Construir el controlador
Introducción de ModelAndView
Configuración del bean controlador
Declarar un resolutor de visualización
Creación del JSP
Ensamblar todo
Mapeo de peticiones a controladores
Utilizar SimpleUrlHandlerMapping
Utilizar ControllerClassNameHandlerMapping
Utilizar metadatos para mapear controladores
Trabajar con múltiples manipuladores de mapeo
Manejo de peticiones con controladores
Procesamiento de comandos
Procesar envío de formularios
Validación de la información de entrada de formulario
Validación mediante Commons Validator
Procesamiento de formularios complejos mediante asistentes
Construcción de un controlador asistente básico
Seguimiento a través de las páginas del formulario
Finalizar el asistente
Cancelar el asistente
Validación una a una de páginas de formulario asistente
Trabajar con controladores throwaway
Manejo de excepciones
Resumen

14. Mostrar vistas Web
Resolución de visualizaciones
Utilizar visualizaciones plantilla
Resolución de beans de visualización
Declarar beans de visualización en un archivo XML independiente
Resolución de visualizaciones desde paquetes de recursos
Elección del resolutor de visualización
Utilizar varios resolutores de visualización
Utilizar plantillas JSP
Vincular datos de formulario
Mostrar mensajes externalizados
Mostrar errores
Diseño de páginas con Tiles
Vistas Tiles
Configuración de Tiles
Resolver vistas Tiles
Crear controladores Tile
Trabajar con alternativas a JSP
Utilizar plantillas Velocity
Definición de la visualización Velocity
Configuración del motor Velocity
Resolución de visualizaciones Velocity
Formatear fechas y números
Exponer atributos de peticiones y sesión
Vincular campos de formulario en Velocity
Trabajar con FreeMarker
Construcción de una vista FreeMarker
Configuración del motor FreeMarker
Resolver visualizaciones FreeMarker
Exponer atributos de petición y sesión
Vincular campos de formulario en FreeMarker
Generación de información de salida no HTML
Producción de hojas de cálculo Excel
Generación de documentos PDF
Desarrollar visualizaciones personalizadas
Resumen

15. Spring Web Flow
Primeros pasos con Spring Web Flow
Instalación de Spring Web Flow
Configuración de FlowController
Configuración de un ejecutor de flujo
Registro de definiciones de flujo
Elementos esenciales de Spring Web Flow
Creación de un flujo
Asentamiento de la infraestructura del flujo
Variables de flujo
Estados inicio y final
Recogida de información de cliente
Petición del número de teléfono del cliente
Búsqueda de datos de cliente
Añadir un nuevo cliente
Construcción del pedido de pizza
Mostrar el pedido
Añadir una pizza al pedido
Completar el pedido
Realización del pago
Envío del pedido
Unos cuantos toques finales
Técnicas avanzadas de flujo Web
Utilizar estados de decisión
Extracción de subflujos y uso de subestados
Creación de un flujo de datos de cliente
Utilizar un subflujo
Integración de Spring Web Flow con otros marcos de trabajo
Jakarta Struts
JavaServer Faces
Resumen

16. Integración con otros marcos de trabajo Web
Utilizar Spring con Struts
Registrar el complemento Spring con Struts
Escribir acciones Struts conscientes de Spring
Delegación en acciones configuradas en Spring
Conexión de acciones en Spring
Implementación de una acción Struts configurada en Spring
¿Qué hay de Struts 2?
Trabajar con Spring en WebWork 2/Struts 2
Integración de Spring con Tapestry
Integración de Spring con Tapestry 3
Abrir beans de Spring en páginas Tapestry
Integración de Spring con Tapestry 4
Enfrentarse a Spring con JSF
Resolución de propiedades gestionadas por JSF
Resolución de beans de Spring
Utilizar beans de Spring en páginas JSF
Exponer el contexto de aplicación en JSF
Habilitar Ajax para aplicaciones en Spring con DWR
Acceso remoto Web directo
Configuración DWR básica
Definición de objetos remotos
Exportar objetos remotos a JavaScript
Llamada a métodos remotos desde JavaScript
Mostrar los resultados
Acceder a beans DWR gestionados por Spring
Utilizar creadores Spring
Utilizar el espacio de nombre de configuración de Spring de DWR
Resumen


Parte IV. Apéndices

Apéndice A. Configuración de Spring

Apéndice B. Comprobación con (y sin) Spring

Índice alfabético

Spring es un marco de código abierto de desarrollo de aplicaciones para la plataforma Java con características que le aportan una vasta funcionalidad. El lanzamiento de Spring 2 ha producido excelentes innovaciones dirigidas a aumentar el rendimiento.

Este libro es un completo manual de referencia y un excelente recurso para cualquier desarrollador interesado en Spring. El material que contiene abarca desde los conceptos básicos hasta consejos avanzados para programadores experimentados, todo ello reforzado con ejemplos basados en modelos de entidades reales.
Comprenderá cómo funciona realmente la programación orientada a aspectos, no sólo como técnica sino como una forma de implementar interacciones en los dominios empresariales que quiera modelar. Hay capítulos dedicados a Spring-WS, JMS, acciones remotas, soporte de script de Spring, así como seguridad, Web Flow, Ajax, transacciones declarativas y persistencia de datos.

Artículos relacionados

  • NO TAN RÁPIDO
    HILL, DOUG
    Existe una conocida historia sobre un pez adulto que nada junto a dos peces más jóvenes y les pregunta: «¿Cómo está el agua ». Los peces pequeños se quedan perplejos. «¿Qué es el agua », preguntan. Muchos de nosotros podríamos hacernos hoy una pregunta similar: ¿qué es la tecnología La tecnología define el mundo en que vivimos, pero estamos tan inmersos en ella, tan rodeados po...

    24,50 €

  • OFFICE Y COPILOT OPTIMIZA WORD EXCEL POWERPOINT Y TEAMS
    CHEMA GOMEZ
    La Inteligencia Artificial ha transformado las herramientas de Office, convirtiéndolas en asistentes inteligentes que facilitan el trabajo diario.Este libro te guía paso a paso en la integración de la IA en Word, Excel, Powerpoint, Outlook y Teams, mostrando cómo aprovechar al máximo sus funciones avanzadas.? En Word, redacta con mayor precisión gracias al procesamiento de leng...

    27,90 €

  • ENTIENDE LA TECNOLOGÍA
    GENTILE, NATE
    Piénsalo: gracias a los avances tecnológicos podemos hablar con alguien que esté a miles de kilómetros, predecir el tiempo, cruzar el planeta en cuestión de horas, conocer nuestro estado de salud, curar enfermedades graves, acceder al instante a más información de la que nunca seremos capaces de leer... ¡Si incluso hemos conseguido hacer que las máquinas aprendan! ¿Cómo de dif...

    20,90 €

  • CANVA. CURSO COMPLETO
    GÓMEZ, CHEMA
    La guía definitiva y más exhaustiva para dominar Canva, la herramienta de diseño gráfico más accesible y poderosa de nuestros tiempos ...

    19,90 €

  • FINAL FANTASY: LEVEL 99
    MARTÍNEZ SUÁREZ, MIGUEL / RUBIO BLÁZQUEZ, NÉSTOR
    Final Fantasy: Level 99 es un bestiario que explora la diversidad de criaturas icónicas de la legendaria saga de videojuegos de Square Enix, desde sus inspiraciones en mitología clásica hasta referencias en la cultura pop y la ciencia-ficción. El libro, coescrito por Miguel Martínez Suárez y Néstor Rubio Blázquez, presenta 99 fascinantes monstruos que han desafiado a los jugado...

    25,95 €

  • MINECRAFT
    AB, MOJANG
    LIBRO OFICIAL DEL VIDEOJUEGO MÁS VENDIDO DE TODOS LOS TIEMPOS MÁS DE 100.000 EJEMPLARES VENDIDOS DE LA SERIE ¿Eres un constructor experto? ¿Buscas inspiración para tu próxima construcción épica? Visita estas 12 construcciones únicas y alucinantes que seguro que despertarán tu imaginación. Aquí aprenderás los mejores trucos y recibirás los mejores consejos, con los que logr...

    21,90 €

Otros libros del autor

  • SPRING. CUARTA EDICIÓN
    WALLS, CRAIG
    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 q...

    58,90 €

  • SPRING.TERCERA EDICIÓN
    WALLS, CRAIG
    Spring es un framework de código abierto imprescindible para facilitar el desarrollo de aplicaciones en Java. Spring 3 incorpora nuevas y potentes características como el lenguaje de expresiones SpEL, anotaciones para el contenedor IoC, compatibilidad con REST, servicios remotos, mensajería, seguridad, MVC, WebFlow, y mucho más.Con un estilo práctico, Craig Walls presenta Sprin...

    42,00 €