Spring 321 Castellano

931
Spring Framework documentación de referencia Próximo Spring Framework documentación de referencia Autores 3.2.1.RELEASE Copyright © 2004-2012 Copias de este documento puede ser hecho para su propio uso y para su distribución a los demás, a condición de que no se cobra ninguna cuota por las copias y siempre que cada copia contenga este aviso de copyright, ya sea distribuido en forma impresa o electrónica. Tabla de contenidos I. Visión general de Spring Framework 1. Introducción a Spring Framework 1,1. Inyección de dependencia y Inversión de Control 1,2. Módulos 1.2.1. Core Container 1.2.2. Acceso a datos / Integración 1.2.3. Web 1.2.4. AOP e Instrumentación 1.2.5. Prueba 1,3. Escenarios de uso 1.3.1. Dependencia de Gestión y Convenciones de nomenclatura Primavera Dependencias y dependiendo de Primavera Maven Dependencia de Gestión Ivy Dependencia de Gestión 1.3.2. Inicio de sesión No utilizar Commons Logging Usando SLF4J Usando Log4J II. ¿Qué hay de nuevo en Spring 3 2. Nuevas características y mejoras en Spring Framework 3.0 2,1. Java 5 2,2. Documentación mejorada 2,3. Nuevos artículos y tutoriales 2,4. Nuevo módulo de organización y sistema de construcción

Transcript of Spring 321 Castellano

  • Spring Framework documentacin de referencia

    Prximo

    Spring Framework documentacin de referencia

    Autores

    3.2.1.RELEASE

    Copyright 2004-2012

    Copias de este documento puede ser hecho para su propio uso y para su distribucin a

    los dems, a condicin de que no se cobra ninguna cuota por las copias y siempre que

    cada copia contenga este aviso de copyright, ya sea distribuido en forma impresa o

    electrnica.

    Tabla de contenidos

    I. Visin general de Spring Framework

    1. Introduccin a Spring Framework

    1,1. Inyeccin de dependencia y Inversin de Control

    1,2. Mdulos

    1.2.1. Core Container

    1.2.2. Acceso a datos / Integracin

    1.2.3. Web

    1.2.4. AOP e Instrumentacin

    1.2.5. Prueba

    1,3. Escenarios de uso

    1.3.1. Dependencia de Gestin y Convenciones de nomenclatura

    Primavera Dependencias y dependiendo de Primavera

    Maven Dependencia de Gestin

    Ivy Dependencia de Gestin

    1.3.2. Inicio de sesin

    No utilizar Commons Logging

    Usando SLF4J

    Usando Log4J

    II. Qu hay de nuevo en Spring 3

    2. Nuevas caractersticas y mejoras en Spring Framework 3.0

    2,1. Java 5

    2,2. Documentacin mejorada

    2,3. Nuevos artculos y tutoriales

    2,4. Nuevo mdulo de organizacin y sistema de construccin

  • 2,5. Descripcin de las caractersticas nuevas

    2.5.1. Core API actualizada para Java 5

    2.5.2. Spring Expression Language

    2.5.3. La inversin de control (IoC) contenedor

    Java bean metadatos basados en

    Definicin de metadatos de frijol dentro de los componentes

    2.5.4. Tipo de propsito general y un sistema de conversin del sistema de

    formato de campo

    2.5.5. El nivel de datos

    2.5.6. El nivel Web

    Soporte de apoyo integral

    @ MVC adiciones

    2.5.7. Validacin del modelo declarativo

    2.5.8. Apoyo temprano para Java EE 6

    2.5.9. Soporte para bases de datos integradas

    3. Nuevas caractersticas y mejoras en Spring Framework 3.1

    3,1. Cach de abstraccin

    3,2. Definicin de frijol perfiles

    3,3. Medio Ambiente Abstraccin

    3,4. Abstraccin PropertySource

    3,5. Equivalentes de cdigo para espacios de nombres XML de Spring

    3,6. Soporte para Hibernate 4.x

    3,7. TestContext marco de apoyo para las clases de configuracin y los perfiles

    de frijol @ definicin

    3,8. c: namespace para ms concisa inyeccin de constructor

    3,9. Apoyo a la inyeccin contra no estndar JavaBeans setters

    3,10. Soporte para servlets 3 Cdigo de configuracin basada en Contenedor

    Servlet

    3,11. Soporte para servlets 3 MultipartResolver

    3.12. JPA EntityManagerFactory bootstrapping sin persistence.xml

    3.13. Nuevos HandlerMethod basados en clases de apoyo para el procesamiento

    de Controlador anotado

    3.14. "Consume" y "produce" las condiciones en @RequestMapping

    3.15. Flash de atributos y RedirectAttributes

    3.16. Mejoras en la plantilla URI variables

    3.17. @Valid On @RequestBody Argumentos mtodo de control

    3.18. @RequestPart Anotacin sobre los argumentos de mtodo de control

    3.19. UriComponentsBuilder y UriComponents

    4. Nuevas caractersticas y mejoras en Spring Framework 3.2

    4,1. Soporte para procesamiento basado en Servlet 3 solicitud asincrnica

    4,2. Spring MVC Prueba marco

    4,3. Mejorar el contenido de negociacin

    4.4. @ControllerAdvice anotacin

    4,5. Las variables de matriz

    4,6. Clase base abstracta para el cdigo basado en Servlet 3 + contenedor de

    inicializacin

    4.7. ResponseEntityExceptionHandler clase

    4,8. El apoyo a los tipos genricos en el RestTemplate y en @RequestBody

    argumentos

    4,9. Jackson JSON 2 y las mejoras relacionadas con el

  • 4,10. Azulejos 3

    4.11. @RequestBody mejoras

    4.12. Mtodo HTTP PARCHE

    4.13. Excluidos en los patrones de mapeado interceptores

    4.14. El uso de meta-anotaciones para los puntos de inyeccin y mtodos de

    definicin de frijol

    4.15. El apoyo inicial para JCache 0,5

    4.16. Apoyo a @DateTimeFormat sin Joda Time

    4,17. Global formato de fecha y hora

    4.18. Nuevas funciones de prueba

    4.19. Mejoras de concurrencia de todo el marco

    4.20. Nueva Gradle basado en construir y mover a GitHub

    4,21. Refinado Java SE 7/7 de apoyo OpenJDK

    III. Core Technologies

    5. El contenedor IoC

    5,1. Introduccin al contenedor de Spring IoC y frijoles

    5,2. Contenedor visin general

    5.2.1. Configuracin de metadatos

    5.2.2. Crear instancias de un contenedor

    Composicin de metadatos basado en XML de configuracin

    5.2.3. Uso del contenedor

    5,3. Frijol visin general

    5.3.1. Frijoles de nombres

    Aliasing un grano fuera de la definicin de frijol

    5.3.2. Frijoles Instanciacin

    De instancias con un constructor

    De instancias con un mtodo esttico de fbrica

    Instanciacin utilizando un mtodo de fbrica instancia

    5,4. Dependencias

    5.4.1. Inyeccin de dependencia

    Constructor basado en la inyeccin de dependencia

    Setter basado en la inyeccin de dependencia

    Dependencia proceso de resolucin

    Ejemplos de inyeccin de dependencias

    5.4.2. Dependencias y configuracin en detalle

    Valores rectos (primitivos, Strings , etc)

    Las referencias a otros beans (colaboradores)

    Frijoles interiores

    Colecciones

    Nulos y los valores de cadena vaca

    Atajo XML con el p-namespace

    Atajo XML con espacio de nombres c-

    Nombres compuestos de propiedad

    5.4.3. El uso depends-on

    5.4.4. Lazy-inicializadas frijoles

    5.4.5. Colaboradores autowiring

    Limitaciones y desventajas de autoconexin

    La exclusin de un bean de autowiring

    5.4.6. Mtodo de inyeccin

    Lookup inyeccin mtodo

  • Mtodo de sustitucin arbitraria

    5,5. Frijol mbitos

    5.5.1. El alcance singleton

    5.5.2. El alcance prototipo

    5.5.3. Singleton con frijoles prototipo de frijol dependencias

    5.5.4. Solicitar, sesin y sesin global mbitos

    Configuracin web inicial

    Solicitud de alcance

    Sesin alcance

    mbito de sesin global

    Frijoles con mbito como dependencias

    5.5.5. Custom mbitos

    La creacin de un mbito personalizado

    El uso de un mbito personalizado

    5,6. Personalizacin de la naturaleza de un grano

    5.6.1. Devoluciones de llamada de ciclo de vida

    Devoluciones de llamada de inicializacin

    Callbacks Destruccin

    Predeterminado de inicializacin y destruir mtodos

    La combinacin de los mecanismos del ciclo de vida

    Inicio y cierre de devoluciones de llamada

    Apagado del contenedor de IoC Primavera con gracia en aplicaciones no web

    5.6.2. ApplicationContextAware y BeanNameAware

    5.6.3. Otros Aware interfaces de

    5,7. Frijol definicin herencia

    5,8. Puntos contenedor de extensin

    5.8.1. Personalizacin de los frijoles con un BeanPostProcessor

    Ejemplo: Hola a todos, BeanPostProcessor de estilo

    Ejemplo: El RequiredAnnotationBeanPostProcessor

    5.8.2. Personalizacin de metadatos de configuracin con un BeanFactoryPostProcessor

    Ejemplo: la PropertyPlaceholderConfigurer

    Ejemplo: la PropertyOverrideConfigurer

    5.8.3. Personalizacin de la lgica de instancias con una FactoryBean

    5,9. Anotacin basada en contenedor de configuracin

    5.9.1. @Required

    5.9.2. @Autowired

    5.9.3. Ajuste de anotacin basado autowiring con los calificadores

    5.9.4. CustomAutowireConfigurer

    5.9.5. @Resource

    5.9.6. @PostConstruct y @PreDestroy

    5,10. Exploracin Classpath y componentes administrados

    5.10.1. @Component y anotaciones posteriores estereotipo

    5.10.2. La deteccin automtica de clases y el registro de las definiciones de

    frijol

    5.10.3. Uso de filtros para personalizar la exploracin

    5.10.4. Definicin de metadatos de frijol dentro de los componentes

    5.10.5. Nombrar los componentes detectados automticamente

    5.10.6. Proporcionar un espacio para componentes autodetectadas

    5.10.7. Proporcionar metadatos calificador con anotaciones

  • 5,11. Utilizando Anotaciones JSR 330 estndar

    5.11.1. Inyeccin de Dependencia con @Inject y @Named

    . 5.11.2 @Named : una norma equivalente a la @Component anotacin

    5.11.3. Limitaciones del enfoque estndar

    5,12. Basado en Java contenedor de configuracin

    5.12.1. Conceptos bsicos: @Configuration y @Bean

    5.12.2. Instanciar el contenedor Spring usando AnnotationConfigApplicationContext Construccin simple

    La construccin del contenedor mediante programacin con register(Class...)

    Habilitacin componente de exploracin con scan(String...)

    Soporte para aplicaciones web con AnnotationConfigWebApplicationContext 5.12.3. Redaccin basadas en Java configuraciones

    Uso de la @Import anotacin

    La combinacin de Java y XML de configuracin

    5.12.4. Uso del @Bean anotacin

    Declarar un bean

    Inyeccin de dependencias

    Recepcin de las devoluciones de llamada de ciclo de vida

    Especificacin del mbito de frijol

    Personalizacin de frijol de nomenclatura

    Frijol aliasing

    5.12.5. Para ms informacin acerca de cmo la configuracin basada en Java

    funciona internamente

    5,13. Registro de una LoadTimeWeaver

    5,14. Capacidades adicionales de la ApplicationContext

    5.14.1. Internacionalizacin mediante MessageSource

    5.14.2. Eventos estndar y personalizados

    5.14.3. La facilidad de acceso a bajo nivel de recursos

    5.14.4. Conveniente ApplicationContext de instancias para las aplicaciones

    web

    5.14.5. Implementacin de un ApplicationContext primavera como un archivo

    RAR J2EE

    5,15. El BeanFactory

    5.15.1. BeanFactory o ApplicationContext ?

    5.15.2. Pegue el cdigo y el mal singleton

    6. Recursos

    6,1. Introduccin

    6,2. El Resource interfaz

    6,3. Built-in Resource implementaciones

    6.3.1. UrlResource

    6.3.2. ClassPathResource

    6.3.3. FileSystemResource

    6.3.4. ServletContextResource

    6.3.5. InputStreamResource

    6.3.6. ByteArrayResource

    6,4. El ResourceLoader

    6,5. El ResourceLoaderAware interfaz

  • 6.6. Resources como dependencias

    6,7. Contextos de aplicacin y Resource caminos

    6.7.1. La construccin de contextos de aplicacin

    La construccin de ClassPathXmlApplicationContext casos accesos directos

    -

    6.7.2. Los comodines en las rutas de aplicaciones contextuales recursos

    constructor

    Estilo Ant-Patrones

    El classpath*: prefijo

    Otras notas relacionadas con comodines

    6.7.3. FileSystemResource advertencias

    7. Validacin, enlace de datos y el tipo de conversin

    7,1. Introduccin

    7,2. Validacin utilizando Spring Validator interfaz

    7,3. La resolucin de los cdigos de mensajes de error

    7,4. Frijol manipulacin y el BeanWrapper

    7.4.1. Establecer y obtener propiedades bsicas y anidados

    7.4.2. Construido en PropertyEditor implementaciones

    Registro adicionales personalizados PropertyEditors

    7,5. Spring 3 Tipo de conversin

    7.5.1. Convertidor de SPI

    7.5.2. ConverterFactory

    7.5.3. GenericConverter

    ConditionalGenericConverter

    7.5.4. ConversionService API

    7.5.5. Configuracin de un ConversionService

    7.5.6. El uso de un ConversionService programacin

    7,6. Spring 3 Campo de formato

    7.6.1. Formatter SPI

    7.6.2. Anotacin basada formato

    Formato API anotacin

    7.6.3. FormatterRegistry SPI

    7.6.4. FormatterRegistrar SPI

    7.6.5. Configuracin de formato en Spring MVC

    7.7. Configuracin de un formato de fecha y hora mundial

    7,8. Spring 3 Validacin

    7.8.1. Visin general de la API JSR-303 Frijol de validacin

    7.8.2. Configuracin de una aplicacin Bean Validation

    La inyeccin de un validador

    Configuracin de restricciones personalizadas

    Opciones de configuracin adicionales

    7.8.3. Configuracin de un DataBinder

    7.8.4. Spring MVC 3 Validacin

    Disparo @ validacin de entrada del controlador

    Configuracin de un validador para el uso de Spring MVC

    Configuracin de un validador de JSR-303 para el uso de Spring MVC

    8. Spring Expression Language (SPEL)

    8,1. Introduccin

    8,2. Descripcin general de caractersticas

    8,3. Evaluacin de expresiones con la interfaz de Spring Expresin

  • 8.3.1. La interfaz EvaluationContext

    Conversin de tipos

    8,4. Expresin de apoyo para definir las definiciones de frijol

    8.4.1. Configuracin basada en XML

    8.4.2. Anotacin de configuracin basada en

    8,5. Referencia del lenguaje

    8.5.1. Expresiones literales

    8.5.2. Propiedades, matrices, listas, mapas, indizadores

    8.5.3. Listas Inline

    8.5.4. Matriz construccin

    8.5.5. Mtodos

    8.5.6. Operadores

    Los operadores relacionales

    Los operadores lgicos

    Los operadores matemticos

    8.5.7. Asignacin

    8.5.8. Tipos

    8.5.9. Constructores

    8.5.10. Variables

    Las variables de raz y # # esto

    8.5.11. Funciones

    8.5.12. Referencias de frijol

    8.5.13. Ternario del operador (If-Then-Else)

    8.5.14. El Operador Elvis

    8.5.15. Operador navegacin segura

    8.5.16. Coleccin de Seleccin

    8.5.17. Coleccin de proyeccin

    8.5.18. Expresin de plantillas

    8,6. Clases utilizadas en los ejemplos

    9. Programacin Orientada a Aspectos con Spring

    9,1. Introduccin

    9.1.1. AOP conceptos

    9.1.2. Spring AOP capacidades y objetivos

    9.1.3. AOP Proxies

    9,2. @ AspectJ apoyo

    9.2.1. Habilitacin @ Soporte AspectJ

    Habilitacin @ Soporte AspectJ con Java configuracin

    Habilitacin @ Soporte de configuracin XML con AspectJ

    9.2.2. Declarar un aspecto

    9.2.3. La declaracin de un punto de corte

    Compatibles Designadores pointcut

    Combinando las expresiones pointcut

    Compartiendo definiciones comunes pointcut

    Ejemplos

    Escribir buenos puntos de corte

    9.2.4. La declaracin de asesoramiento

    Antes de asesoramiento

    Despus de regresar asesoramiento

    Despus de lanzar asesoramiento

    Despus (por fin) el asesoramiento

  • Alrededor de asesoramiento

    Consejos parmetros

    Consejos de pedido

    9.2.5. Presentaciones

    9.2.6. Los modelos de instancias de aspecto

    9.2.7. Ejemplo

    9.3. Esquema basado en AOP apoyo

    9.3.1. Declarar un aspecto

    9.3.2. La declaracin de un punto de corte

    9.3.3. La declaracin de asesoramiento

    Antes de asesoramiento

    Despus de regresar asesoramiento

    Despus de lanzar asesoramiento

    Despus (por fin) el asesoramiento

    Alrededor de asesoramiento

    Consejos parmetros

    Consejos de pedido

    9.3.4. Presentaciones

    9.3.5. Los modelos de instancias de aspecto

    9.3.6. Asesores

    9.3.7. Ejemplo

    9,4. Elegir qu tipo de declaracin a utilizar AOP

    9.4.1. Spring AOP o AspectJ completo?

    9.4.2. @ AspectJ o XML para Spring AOP?

    9,5. Mezclar tipos de aspecto

    9,6. Mecanismos Proxying

    9.6.1. Entender proxies AOP

    9,7. Creacin programtica de los Proxies @ AspectJ

    9,8. Usando AspectJ con aplicaciones de primavera

    9.8.1. Usando AspectJ a la dependencia inyectar objetos de dominio con la

    primavera

    Las pruebas unitarias @Configurable objetos

    Trabajar con mltiples contextos de aplicacin

    9.8.2. Otros aspectos de primavera para AspectJ

    9.8.3. Configuracin de los aspectos AspectJ utilizando Spring COI

    9.8.4. Carga en tiempo tejiendo con AspectJ en el Spring Framework

    Un ejemplo primero

    Aspectos

    ' META-INF/aop.xml '

    Bibliotecas necesarias (JARS)

    Primavera configuracin

    Medio Ambiente configuracin especfica

    9,9. Recursos adicionales

    10. Spring AOP APIs

    10,1. Introduccin

    10,2. Pointcut API en la primavera

    10.2.1. Conceptos

    10.2.2. Las operaciones en puntos de corte

    10.2.3. AspectJ expresin de puntos de corte

    10.2.4. Implementaciones de Conveniencia pointcut

  • Puntos de corte esttico

    Puntos de corte dinmico

    10.2.5. Superclases pointcut

    10.2.6. Puntos de corte personalizados

    10,3. Consejos de API en la primavera

    10.3.1. Ciclos de vida de Asesoramiento

    10.3.2. Tipos de asesoramiento en primavera

    Interceptacin alrededor asesoramiento

    Antes de asesoramiento

    Emite consejo

    Despus de regresar asesoramiento

    Introduccin consejo

    10,4. Asesor de Programas en la primavera

    10,5. Uso de la ProxyFactoryBean para crear proxies AOP

    10.5.1. Lo esencial

    10.5.2. JavaBean propiedades

    10.5.3. JDK-y CGLIB proxies basados en

    10.5.4. Interfaces de conexiones proxy

    10.5.5. Clases de conexiones proxy

    10.5.6. Usando "globales" asesores

    10,6. Definiciones concisas de proxy

    10,7. La creacin de proxies AOP mediante programacin con el ProxyFactory

    10,8. Manipulacin de objetos asesorados

    10,9. Uso de la "autoproxy" instalacin

    10.9.1. AutoProxy frijol definiciones

    BeanNameAutoProxyCreator

    DefaultAdvisorAutoProxyCreator

    AbstractAdvisorAutoProxyCreator

    10.9.2. El uso de metadatos basada en auto-proxy

    10.10. Usando TargetSources

    10.10.1. Hot swappable fuentes de destino

    10.10.2. La combinacin de fuentes de destino

    10.10.3. Fuentes prototipo de destino

    10.10.4. ThreadLocal fuentes de destino

    10.11. Definicin de nuevos Advice tipos

    10.12. Otros recursos

    11. Pruebas

    11,1. Introduccin a las pruebas de primavera

    11,2. Pruebas unitarias

    11.2.1. Mock Objects

    Medio ambiente

    JNDI

    Servlet API

    Portlet API

    11.2.2. Unidad de apoyo a las clases de prueba

    Utilidades Generales

    Spring MVC

    11,3. Pruebas de Integracin

    11.3.1. Visin de conjunto

    11.3.2. Objetivos de las Pruebas de Integracin

  • Contexto y almacenamiento en cach

    Inyeccin de Dependencia de accesorios de prueba

    Gestin de transacciones

    Las clases de apoyo para las pruebas de integracin

    11.3.3. JDBC Soporte Pruebas

    11.3.4. Anotaciones

    Anotaciones Primavera Pruebas

    Soporte de anotacin estndar

    Primavera Pruebas JUnit Anotaciones

    11.3.5. Spring Framework TestContext

    Abstracciones clave

    Contexto de la gestin

    Inyeccin de dependencia de accesorios de prueba

    Pruebas de solicitud y sesin de frijoles con mbito

    Gestin de transacciones

    TestContext Marco de las clases de apoyo

    11.3.6. Spring MVC Framework prueba

    Pruebas del lado del servidor

    Pruebas de cliente REST

    11.3.7. Ejemplo PetClinic

    11,4. Recursos adicionales

    IV. Acceso a datos

    12. Administracin de transacciones

    12,1. Introduccin a la gestin de transacciones Spring Framework

    12,2. Ventajas del modelo Spring Framework de transacciones de apoyo

    12.2.1. Las transacciones globales

    12.2.2. Las transacciones locales

    12.2.3. Modelo de programacin coherente Spring Framework

    12,3. Comprender el Spring Framework abstraccin transaccin

    12,4. Sincronizacin de los recursos con transacciones

    12.4.1. Alto nivel de sincronizacin enfoque

    12.4.2. Bajo nivel de sincronizacin enfoque

    12.4.3. TransactionAwareDataSourceProxy

    12,5. Gestin de transacciones declarativa

    12.5.1. Comprender la implementacin del Marco de Spring transaccin

    declarativa

    12.5.2. Ejemplo de implementacin de transacciones declarativa

    12.5.3. Anulacin de una transaccin declarativa

    12.5.4. Configuracin de diferentes semntica transaccional para las semillas de

    diferentes

    12.5.5. ajustes

    12.5.6. Usando @Transactional

    @Transactional ajustes

    Los administradores mltiples transacciones con @Transactional

    Anotaciones personalizadas de acceso directo

    12.5.7. Transaccin propagacin

    Necesario

    RequiresNew

    Nested

    12.5.8. Asesorar a las operaciones transaccionales

  • 12.5.9. Usando @Transactional con AspectJ

    12,6. Gestin de transacciones programtica

    12.6.1. Uso de la TransactionTemplate

    Especificacin de los valores de transaccin

    12.6.2. Uso de la PlatformTransactionManager

    12,7. Elegir entre la gestin de transacciones programticas y declarativas

    12,8. Servidor de aplicaciones especficas de integracin

    12.8.1. IBM WebSphere

    12.8.2. BEA WebLogic Server

    12.8.3. Oracle OC4J

    12,9. Las soluciones a los problemas comunes

    12.9.1. El uso del gestor de transacciones mal para un determinado DataSource

    12.10. Recursos adicionales

    13. DAO apoyo

    13,1. Introduccin

    13,2. Jerarqua excepcin consistente

    13,3. Anotaciones utilizados para la configuracin de las clases DAO o depsito

    14. Acceso a los datos con JDBC

    14,1. Introduccin a Spring Framework JDBC

    14.1.1. Eleccin de un mtodo de acceso de base de datos JDBC

    14.1.2. Paquete de jerarqua

    14,2. Uso de las clases principales de JDBC para controlar el procesamiento

    bsico JDBC y manejo de errores

    14.2.1. JdbcTemplate

    Ejemplos de utilizacin de la clase JdbcTemplate

    JdbcTemplate mejores prcticas

    14.2.2. NamedParameterJdbcTemplate

    14.2.3. SimpleJdbcTemplate

    14.2.4. SQLExceptionTranslator

    14.2.5. Ejecucin de sentencias

    14.2.6. Ejecucin de consultas

    14.2.7. Actualizacin de la base de datos

    14.2.8. Recuperacin automtica de claves generadas

    14,3. Controlar las conexiones de base de datos

    14.3.1. DataSource

    14.3.2. DataSourceUtils

    14.3.3. SmartDataSource

    14.3.4. AbstractDataSource

    14.3.5. SingleConnectionDataSource

    14.3.6. DriverManagerDataSource

    14.3.7. TransactionAwareDataSourceProxy

    14.3.8. DataSourceTransactionManager

    14.3.9. NativeJdbcExtractor

    14,4. JDBC operaciones por lotes

    14.4.1. Operaciones bsicas de proceso por lotes con el JdbcTemplate

    14.4.2. Las operaciones por lotes con una lista de objetos

    14.4.3. Las operaciones por lotes con varios lotes

    14,5. La simplificacin de las operaciones con las clases JDBC SimpleJdbc

    14.5.1. Insertar datos utilizando SimpleJdbcInsert

  • 14.5.2. Recuperacin automtica de claves generadas utilizando

    SimpleJdbcInsert

    14.5.3. Especificacin de las columnas para un SimpleJdbcInsert

    14.5.4. Uso de SqlParameterSource para proporcionar valores de parmetro

    14.5.5. Llamar a un procedimiento almacenado con SimpleJdbcCall

    14.5.6. Declarar explcitamente los parmetros a utilizar para un SimpleJdbcCall

    14.5.7. Cmo definir SqlParameters

    14.5.8. Llamar a una funcin almacenada utilizando SimpleJdbcCall

    14.5.9. Volviendo ResultSet / REF Cursor desde un SimpleJdbcCall

    14,6. Modelado de las operaciones de JDBC como objetos Java

    14.6.1. SqlQuery

    14.6.2. MappingSqlQuery

    14.6.3. SqlUpdate

    14.6.4. StoredProcedure

    14,7. Problemas comunes con el parmetro de valor y manejo de datos

    14.7.1. Proporcionar informacin de tipo SQL para los parmetros

    14.7.2. Manipulacin de objetos BLOB y CLOB

    14.7.3. Pasando en las listas de valores en la clusula

    14.7.4. Manejo de tipos complejos para llamadas a procedimientos almacenados

    14,8. Base de datos interna de apoyo

    14.8.1. Por qu utilizar una base de datos integrada?

    14.8.2. Creacin de una instancia de base de datos incrustado utilizando Spring

    XML

    14.8.3. Creacin de una instancia de base de datos incrustado mediante

    programacin

    14.8.4. Ampliacin de la base de datos integrada de apoyo

    14.8.5. Usando HSQL

    14.8.6. Usando H2

    14.8.7. Usando Derby

    14.8.8. Prueba de la lgica de acceso a datos con una base de datos integrada

    14,9. La inicializacin de un origen de datos

    14.9.1. Inicializar una instancia de base de datos XML utilizando Spring

    Inicializacin de otros componentes que dependen de la base de datos

    15. Mapeo objeto relacional (ORM) de acceso a datos

    15,1. Introduccin a ORM con Spring

    15,2. Generales ORM Consideraciones sobre la integracin

    15.2.1. Recursos y gestin de transacciones

    15.2.2. Excepcin traduccin

    15,3. Hibernar

    15.3.1. SessionFactory de instalacin en un contenedor Spring

    15.3.2. La implementacin de DAOs basado en llano API Hibernate 3

    15.3.3. Demarcacin de transacciones declarativa

    15.3.4. Demarcacin de transacciones programtica

    15.3.5. Estrategias de gestin de transacciones

    15.3.6. Comparando contenedores administrados y definidos los recursos locales

    15.3.7. Falsas alertas de servidor de aplicaciones con Hibernate

    15.4. JDO

    15.4.1. PersistenceManagerFactory configuracin

    15.4.2. La implementacin de DAOs basado en la llanura API JDO

    15.4.3. Gestin de transacciones

  • 15.4.4. JdoDialect

    15,5. JPA

    15.5.1. Hay tres opciones para la configuracin de la APP en un ambiente de

    primavera LocalEntityManagerFactoryBean

    La obtencin de una EntityManagerFactory de JNDI LocalContainerEntityManagerFactoryBean Lidiar con mltiples unidades de persistencia

    15.5.2. Implementar DAOs basado en llano JPA

    15.5.3. Administracin de transacciones

    15.5.4. JpaDialect

    15,6. iBATIS SQL Maps

    15.6.1. Configuracin del SqlMapClient

    15.6.2. Usando SqlMapClientTemplate y SqlMapClientDaoSupport

    15.6.3. La implementacin de DAOs basado en API iBATIS llanura

    16. Marshalling XML usando O / X mappers

    16,1. Introduccin

    16,2. Marshaller y Unmarshaller

    16.2.1. Marshaller

    16.2.2. Unmarshaller

    16.2.3. XmlMappingException

    16,3. Usando Marshaller y Unmarshaller

    16,4. XML Schema configuracin basada en

    16,5. JAXB

    16.5.1. Jaxb2Marshaller

    XML Schema configuracin basada en

    16,6. Castor

    16.6.1. CastorMarshaller

    16.6.2. Mapping

    16.7. XMLBeans

    16.7.1. XmlBeansMarshaller

    XML Schema configuracin basada en

    16,8. JiBX

    16.8.1. JibxMarshaller

    XML Schema configuracin basada en

    16,9. XStream

    16.9.1. XStreamMarshaller

    V. La Web

    17. Web MVC marco

    17,1. Introduccin a Spring Web MVC marco

    17.1.1. Caractersticas de Spring Web MVC

    17.1.2. Enchufabilidad de otras implementaciones de MVC

    17,2. El DispatcherServlet

    17.2.1. Tipos especiales de frijol en el WebApplicationContext

    17.2.2. Configuracin predeterminada DispatcherServlet

    17.2.3. Secuencia de procesamiento DispatcherServlet

    17,3. Los controladores de aplicacin

    17.3.1. Definicin de un controlador con @Controller

    17.3.2. Las solicitudes de asignacin con @RequestMapping

    Nuevas clases de apoyo para @RequestMapping mtodos en Spring MVC 3.1

  • Los patrones de URI de plantilla

    Los patrones de URI plantilla con expresiones regulares

    Patrones de trayectoria

    Los patrones con comodines

    Variables de matriz

    Tipos de soportes consumibles

    Tipos de medios producible

    Parmetros de la peticin y los valores de la cabecera

    17.3.3. Definir @RequestMapping mtodos de controlador

    Los tipos de los argumentos de mtodo

    Los tipos de mtodos de devolucin

    Los parmetros de unin de solicitud a los parmetros del mtodo con @RequestParam Cartografa del cuerpo de la solicitud con la anotacin @ RequestBody

    Cartografa del cuerpo de la respuesta con el @ResponseBody anotacin

    Uso de HttpEntity

    Usando @ModelAttribute en un mtodo

    Usando @ModelAttribute en un argumento de mtodo

    Usando @SessionAttributes para almacenar atributos del modelo en la sesin

    entre peticiones HTTP

    Especificacin de atributos y redirigir Flash

    Trabajar con "application/x-www-form-urlencoded" datos

    Asignacin de valores de cookie con la anotacin @ CookieValue

    Asignacin de atributos de la peticin de cabecera con la anotacin @

    RequestHeader

    Parmetros de mtodos y reconversin

    Personalizacin WebDataBinder inicializacin

    Apoyo a la cabecera de la respuesta del 'Last-Modified "para facilitar el

    almacenamiento en cach de contenido

    17.3.4. Procesamiento de solicitud asincrnica

    Manejo de excepciones para las solicitudes asincrnicas

    Interceptar peticiones asncronas

    Configuracin para Procesamiento de solicitudes Async

    17.3.5. Controladores de Pruebas

    17,4. Asignaciones de controlador

    17.4.1. Interceptar solicitudes con un HandlerInterceptor

    17,5. Resolver vistas

    17.5.1. Resolucin de puntos de vista con el ViewResolver interfaz

    17.5.2. Encadenar ViewResolvers

    17.5.3. Redirigir a las opiniones RedirectView

    La redirect: prefijo

    El forward: prefijo

    17.5.4. ContentNegotiatingViewResolver

    17.6. El uso de atributos de flash

    17.7. Edificio URI s

    17.8. Utilizando locales

    17.8.1. AcceptHeaderLocaleResolver

    17.8.2. CookieLocaleResolver

    17.8.3. SessionLocaleResolver

  • 17.8.4. LocaleChangeInterceptor

    17.9. Utilizar temas

    17.9.1. Visin general de los temas

    17.9.2. Definicin de los temas

    17.9.3. Resolucin de temticas

    17.10. Multipart Spring (carga de archivos), soporte

    17.10.1. Introduccin

    17.10.2. El uso de un MultipartResolver con FileUpload Commons

    17.10.3. El uso de un MultipartResolver con Servlet 3.0

    17.10.4. Manejo de una carga de archivos en una forma

    17.10.5. Manejo de una solicitud de carga de archivos de clientes programticas

    17.11. Manejo de excepciones

    17.11.1. HandlerExceptionResolver

    17.11.2. @ExceptionHandler

    17.11.3. Manejo de Excepciones MVC estndar de Primavera

    17.11.4. Anotacin de negocios Con excepciones @ResponseStatus

    17.11.5. Personalizacin del Servlet Container pgina de error por defecto

    17.12. Convencin sobre la configuracin

    17.12.1. El controlador ControllerClassNameHandlerMapping

    17.12.2. El Modelo ModelMap ( ModelAndView )

    17.12.3. The View - RequestToViewNameTranslator

    17.13. ETag apoyo

    17.14. Cdigo basado en Servlet inicializacin del contenedor

    17.15. Configuracin de Spring MVC

    17.15.1. Habilitacin del MVC Java Config o el espacio de nombres XML MVC

    17.15.2. Personalizacin de la configuracin proporcionada

    17.15.3. Configuracin de interceptores

    17.15.4. Configuracin de Negociacin de contenido

    17.15.5. Configuracin de controladores de vista

    17.15.6. Configuracin Porcin de Recursos

    17.15.7. mvc: default-servlet-controlador

    17.15.8. Ms Spring Web MVC Recursos

    17.15.9. Personalizaciones avanzadas con MVC Java Config

    17.15.10. Personalizaciones avanzadas con el espacio de nombres MVC

    18. Ver las tecnologas

    18,1. Introduccin

    18,2. JSP y JSTL

    18.2.1. Ver resolvers

    18.2.2. "Plain-viejas JSP JSTL frente

    18.2.3. Etiquetas adicionales que faciliten el desarrollo

    18.2.4. Usando biblioteca de Spring formulario de etiqueta

    Configuracin

    La form de etiquetas

    La input etiqueta

    La checkbox etiqueta

    La checkboxes etiqueta

    El radiobutton etiqueta

    El radiobuttons etiqueta

    La password etiqueta

    La select etiqueta

  • La option etiqueta

    La options etiqueta

    El textarea etiqueta

    El hidden etiqueta

    Los errors etiqueta

    HTTP Mtodo de conversin

    HTML5 Tags

    18,3. Azulejos

    18.3.1. Dependencias

    18.3.2. Cmo integrar Azulejos UrlBasedViewResolver ResourceBundleViewResolver

    SimpleSpringPreparerFactory y SpringBeanPreparerFactory

    18,4. Velocidad y FreeMarker

    18.4.1. Dependencias

    18.4.2. Contexto configuracin

    18.4.3. Creacin de plantillas

    18.4.4. Configuracin avanzada

    velocity.properties

    FreeMarker

    18.4.5. Bind apoyo y la forma de manejo

    Las macros se unen

    Simple unin

    Formulario de macros de entrada generacin

    HTML escapar y compatibilidad con XHTML

    18,5. XSLT

    18.5.1. Mis primeras palabras

    Frijoles definiciones

    Estndar MVC controlador de cdigo

    Convertir los datos del modelo a XML

    Definicin de las propiedades de la vista

    Documento de transformacin

    18.5.2. Resumen

    18,6. Vistas del documento (PDF / Excel)

    18.6.1. Introduccin

    18.6.2. Configuracin y puesta en

    Definiciones de documento Ver

    Controlador de cdigo

    Subclases para las vistas de Excel

    Subclases de vistas de PDF

    18.7. JasperReports

    18.7.1. Dependencias

    18.7.2. Configuracin

    Configuracin del ViewResolver

    Configuracin de la View s

    Acerca de los archivos de informe

    Usando JasperReportsMultiFormatView

    18.7.3. Poblando el ModelAndView

    18.7.4. Trabajar con subinformes

    Configuracin de Informe Sub-Files

  • Configuracin del Informe Sub-Orgenes de datos

    18.7.5. Configuracin de los parmetros Exportador

    18,8. Vistas de Alimentacin

    18,9. XML Marshalling View

    18.10. JSON Ver Mapping

    19. Integracin con otros frameworks web

    19,1. Introduccin

    19,2. Configuracin comn

    19,3. JavaServer Faces 1.1 y 1.2

    19.3.1. DelegatingVariableResolver JSF (1.1/1.2)

    19.3.2. SpringBeanVariableResolver JSF (1.1/1.2)

    19.3.3. SpringBeanFacesELResolver (JSF 1.2 +)

    19.3.4. FacesContextUtils

    19,4. Apache Struts 1.x y 2.x

    19.4.1. ContextLoaderPlugin

    DelegatingRequestProcessor

    DelegatingActionProxy

    19.4.2. ActionSupport Clases

    19,5. WebWork 2.x

    19,6. Tapestry 3.xy 4.x

    19.6.1. La inyeccin gestionadas por resorte frijoles

    Inyeccin de Dependencia Beans primavera en pginas Tapestry

    Archivos de definicin de componentes

    Adicin de acceso abstractos

    Inyeccin de Dependencia Beans primavera en pginas Tapestry - estilo

    Tapestry 4.x

    19,7. Recursos adicionales

    20. Portlet MVC Framework

    20,1. Introduccin

    20.1.1. Controllers - El C en MVC

    20.1.2. Vistas - El V en MVC

    20.1.3. Web de mbito de frijoles

    20,2. El DispatcherPortlet

    20,3. El ViewRendererServlet

    20,4. Controladores

    20.4.1. AbstractController y PortletContentGenerator

    20.4.2. Otros controladores sencillos

    20.4.3. Controladores de comandos

    20.4.4. PortletWrappingController

    20,5. Asignaciones de controlador

    20.5.1. PortletModeHandlerMapping

    20.5.2. ParameterHandlerMapping

    20.5.3. PortletModeParameterHandlerMapping

    20.5.4. Adicin HandlerInterceptor s

    20.5.5. HandlerInterceptorAdapter

    20.5.6. ParameterMappingInterceptor

    20,6. Puntos de vista y resolver los

    20,7. Multipart (carga de archivos), soporte

    20.7.1. Uso de la PortletMultipartResolver

    20.7.2. Manejo de una carga de archivos en una forma

  • 20.8. Manejo de excepciones

    20,9. Anotacin de control basada en la configuracin

    20.9.1. Configuracin del despachador de apoyo anotacin

    20.9.2. Definicin de un controlador con @Controller

    20.9.3. Solicitudes de asignacin con @RequestMapping

    20.9.4. Compatibles argumentos controlador de mtodos

    20.9.5. Los parmetros de unin de solicitud a los parmetros del mtodo con @RequestParam

    20.9.6. Proporcionar un enlace a los datos del modelo con @ModelAttribute

    20.9.7. Especificacin de atributos para almacenar en una reunin con @SessionAttributes

    20.9.8. Personalizacin WebDataBinder inicializacin

    Personalizacin de los datos obligatorios con @InitBinder

    Configuracin de una costumbre WebBindingInitializer

    20.10. Portlet de implementacin de aplicaciones

    VI. Integracin

    21. Remoting y servicios web utilizando Spring

    21,1. Introduccin

    21,2. La exposicin de los servicios que utilizan RMI

    21.2.1. Exportacin del servicio mediante la RmiServiceExporter

    21.2.2. La vinculacin en el servicio en el cliente

    21,3. El uso de servicios de Hesse o arpillera para llamar de forma remota a

    travs de HTTP

    21.3.1. Cableado del DispatcherServlet de arpillera y compaa.

    21.3.2. Exposicin de los granos mediante el HessianServiceExporter

    21.3.3. La vinculacin al servicio del cliente

    21.3.4. Usando Burlap

    21.3.5. La aplicacin de autenticacin bsica HTTP a un servicio expuesto a

    travs de arpillera arpillera o

    21,4. La exposicin de los servicios que utilizan HTTP invocadores

    21.4.1. La exposicin del objeto de servicio

    21.4.2. La vinculacin en el servicio en el cliente

    21,5. Los servicios Web

    21.5.1. La exposicin de servlet servicios basados en web utilizando JAX-RPC

    21.5.2. Acceso a servicios web utilizando JAX-RPC

    21.5.3. Registro de JAX-RPC haba Asignaciones

    21.5.4. El registro de su propio controlador de JAX-RPC

    21.5.5. La exposicin de servlet servicios basados en web utilizando JAX-WS

    21.5.6. Exportacin de servicios web independientes utilizando JAX-WS

    21.5.7. Exportacin de servicios web mediante el apoyo de la RI JAX-WS de

    primavera

    21.5.8. Acceso a servicios web utilizando JAX-WS

    21,6. JMS

    21.6.1. Configuracin del lado del servidor

    21.6.2. Configuracin del lado del cliente

    21,7. Auto-deteccin no est implementado para interfaces remotas

    21,8. Consideraciones al momento de elegir una tecnologa

    21,9. Acceder a los servicios REST en el cliente

    21.9.1. RestTemplate

    Trabajar con el URI

  • Tratando con cabeceras de peticin y respuesta

    21.9.2. HTTP conversin de mensajes

    StringHttpMessageConverter

    FormHttpMessageConverter

    ByteArrayHttpMessageConverter

    MarshallingHttpMessageConverter

    MappingJackson2HttpMessageConverter (o

    MappingJacksonHttpMessageConverter con 1.x Jackson)

    SourceHttpMessageConverter

    BufferedImageHttpMessageConverter

    22. Enterprise JavaBeans (EJB) integracin

    22,1. Introduccin

    22,2. Acceso a EJBs

    22.2.1. Conceptos

    22.2.2. Acceso SLSBs locales

    22.2.3. Acceso remoto SLSBs

    22.2.4. Acceso a EJB 2.x SLSBs frente EJB 3 SLSBs

    22,3. El uso de EJB Spring clases de apoyo a la ejecucin

    22.3.1. EJB 2.x clases base

    22.3.2. EJB 3 inyeccin interceptor

    23. JMS (Java Message Service)

    23,1. Introduccin

    23,2. Utilizando Spring JMS

    23.2.1. JmsTemplate

    23.2.2. Conexiones

    Almacenamiento en cach los recursos de mensajera

    SingleConnectionFactory

    CachingConnectionFactory

    23.2.3. Destination Management

    23.2.4. Contenedores de escucha de mensajes

    SimpleMessageListenerContainer

    DefaultMessageListenerContainer

    23.2.5. Gestin de transacciones

    23,3. Envo de un Message

    23.3.1. Uso de convertidores Mensaje

    23.3.2. SessionCallback y ProducerCallback

    23.4. Recepcin de un mensaje

    23.4.1. Recepcin sncrona

    23.4.2. Recepcin Asncrona - controlados por mensajes POJOs

    23.4.3. El SessionAwareMessageListener interfaz

    23.4.4. Los MessageListenerAdapter

    23.4.5. Procesamiento de mensajes dentro de las transacciones

    23,5. Soporte para puntos finales Mensaje JCA

    23,6. JMS Soporte Espacio de nombres

    24. JMX

    24,1. Introduccin

    24,2. Exportacin de sus granos a JMX

    24.2.1. Creacin de un MBeanServer

    24.2.2. La reutilizacin de una ya existente MBeanServer

    24.2.3. Lazy-inicializadas MBeans

  • 24.2.4. Registro automtico de MBeans

    24.2.5. Control del comportamiento de registro

    24,3. El control de la interfaz de gestin de los frijoles

    24.3.1. El MBeanInfoAssembler Interface

    24.3.2. El uso a nivel de fuente de metadatos (anotaciones JDK 5.0)

    24.3.3. Nivel de Fuente tipos de metadatos

    24.3.4. El AutodetectCapableMBeanInfoAssembler interfaz

    24.3.5. Definicin de interfaces de gestin que utilizan las interfaces de Java

    24.3.6. Usando MethodNameBasedMBeanInfoAssembler

    24,4. El control de la ObjectName s para sus granos

    24.4.1. Lectura ObjectName s de Properties

    24.4.2. Uso de la MetadataNamingStrategy

    24.4.3. Configuracin de anotacin basada en la exportacin MBean

    24,5. JSR-160 Conectores

    24.5.1. Conectores del lado del servidor

    24.5.2. Conectores del lado del cliente

    24.5.3. JMX sobre arpillera / Hessen / SOAP

    24,6. MBeans Acceso a travs de proxy

    24.7. Notificaciones

    24.7.1. Oyentes Registro de Notificaciones

    24.7.2. Notificaciones de publicacin

    24,8. Recursos adicionales

    25. JCA CCI

    25,1. Introduccin

    25.2. Configuracin del CCI

    25.2.1. Configuracin del conector

    25.2.2. ConnectionFactory configuracin en la primavera

    25.2.3. Configuracin de conexiones CCI

    25.2.4. Con una sola conexin CCI

    25.3. Con el apoyo de Spring CCI acceso

    25.3.1. Registro de conversin

    25.3.2. El CciTemplate

    25.3.3. DAO apoyo

    25.3.4. Generacin automtica de registro de salida

    25.3.5. Resumen

    25.3.6. El uso de un CCI Connection y Interaction directa

    25.3.7. Ejemplo para CciTemplate uso

    25,4. Modelado CCI acceso como objetos de operacin

    25.4.1. MappingRecordOperation

    25.4.2. MappingCommAreaOperation

    25.4.3. Generacin automtica de registro de salida

    25.4.4. Resumen

    25.4.5. Ejemplo para MappingRecordOperation uso

    25.4.6. Ejemplo para MappingCommAreaOperation uso

    25,5. Transacciones

    26. Email

    26,1. Introduccin

    26.2. Uso

    26.2.1. Basic MailSender y SimpleMailMessage uso

    26.2.2. Uso de la JavaMailSender y la MimeMessagePreparator

  • 26,3. Uso de la JavaMail MimeMessageHelper

    26.3.1. Envo de archivos adjuntos y recursos en lnea

    Archivos adjuntos

    Inline recursos

    26.3.2. La creacin de contenido de correo electrnico utilizando una biblioteca

    de plantillas

    Un ejemplo de velocidad basado en

    27. Ejecucin de tareas y programacin

    27,1. Introduccin

    27,2. La primavera TaskExecutor abstraccin

    27.2.1. TaskExecutor tipos

    27.2.2. El uso de un TaskExecutor

    27,3. La primavera TaskScheduler abstraccin

    27.3.1. El Trigger interfaz

    27.3.2. Trigger implementaciones

    27.3.3. TaskScheduler implementaciones

    27,4. Apoyo a la Ejecucin de anotacin y programacin asncrona

    27.4.1. Habilitar las anotaciones de planificacin

    27.4.2. La anotacin @ programadas

    27.4.3. La anotacin @ Async

    27.4.4. Ejecutor calificacin con @ Async

    27,5. El espacio de nombres de tareas

    27.5.1. El "programador" elemento

    27.5.2. El 'ejecutor' elemento

    27.5.3. El elemento programados-tareas"

    27,6. Cmo usar el Programador de cuarzo

    27.6.1. Uso de la JobDetailBean

    27.6.2. Uso de la MethodInvokingJobDetailFactoryBean

    27.6.3. Cableado de puestos de trabajo mediante desencadenadores y la SchedulerFactoryBean 28. Apoyo en el idioma dinmico

    28,1. Introduccin

    28,2. Un ejemplo primero

    28,3. Definicin de frijol que estn respaldados por los lenguajes dinmicos

    28.3.1. Conceptos comunes

    El elemento

    Frijoles actualizables

    Inline dinmicos archivos de idioma fuente

    Entendimiento inyeccin de constructor en el contexto de la dinmica de lengua

    respaldados por frijoles

    28.3.2. JRuby frijoles

    28.3.3. Groovy frijoles

    Personalizacin de objetos maravillosos a travs de una devolucin de llamada

    28.3.4. Frijoles BeanShell

    28.4. Escenarios

    28.4.1. Con secuencias de comandos Spring MVC Controladores

    28.4.2. Validadores con secuencias de comandos

    28,5. Bits and bobs

    28.5.1. AOP - asesorar a los frijoles con guin

    28.5.2. Alcance

  • 28,6. Recursos adicionales

    29. Cach de abstraccin

    29,1. Introduccin

    29,2. Entender la abstraccin cach

    29,3. Declarativa anotacin basado en el almacenamiento en cach

    29.3.1. @Cacheable anotacin

    Generacin de claves por defecto

    Declaracin de encargo de Generacin de Claves

    Cache condicional

    Disponible cach SpEL evaluacin de contexto

    29.3.2. @CachePut anotacin

    29.3.3. @CacheEvict anotacin

    29.3.4. @Caching anotacin

    29.3.5. Habilitar el almacenamiento en cach anotaciones

    29.3.6. Usando anotaciones personalizadas

    29,4. Declarativo basado en XML, el almacenamiento en cach

    29,5. Configurar el almacenamiento en cach

    29.5.1. JDK ConcurrentMap basada en Cache

    29.5.2. Ehcache basada en Cache

    29.5.3. Tratar con cachs sin almacn de respaldo

    29,6. Enchufando en diferentes cachs de back-end

    29.7. Cmo puedo establecer el TTL / TTI / Desalojo poltica / XXX funcin?

    VII. Apndices

    A. Uso de Spring Classic

    A.1. Classic uso ORM

    A.1.1. Hibernar

    El HibernateTemplate

    Implementacin basada en Spring DAO sin devoluciones de llamada

    A.1.2. JDO

    JdoTemplate y JdoDaoSupport

    A.1.3. JPA

    JpaTemplate y JpaDaoSupport

    A.2. Classic Spring MVC

    A.3. Uso de JMS

    A.3.1. JmsTemplate

    A.3.2. Recepcin de mensajes asncrono

    A.3.3. Conexiones

    A.3.4. Administracin de transacciones

    B. Classic Spring AOP Uso

    B.1. Pointcut API en la primavera

    B.1.1. Conceptos

    B.1.2. Las operaciones en puntos de corte

    B.1.3. AspectJ expresin de puntos de corte

    B.1.4. Implementaciones de Conveniencia pointcut

    Puntos de corte esttico

    Puntos de corte dinmico

    B.1.5. Superclases pointcut

    B.1.6. Puntos de corte personalizados

    B.2. Consejos de API en la primavera

    B.2.1. Ciclos de vida de Asesoramiento

  • B.2.2. Tipos de asesoramiento en primavera

    Interceptacin alrededor asesoramiento

    Antes de asesoramiento

    Emite consejo

    Despus de regresar asesoramiento

    Introduccin consejo

    B.3. Asesor de Programas en la primavera

    B.4. Uso de la ProxyFactoryBean para crear proxies AOP

    B.4.1. Lo esencial

    B.4.2. JavaBean propiedades

    B.4.3. JDK-y CGLIB proxies basados en

    B.4.4. Interfaces de conexiones proxy

    B.4.5. Clases de conexiones proxy

    B.4.6. Usando "globales" asesores

    B.5. Definiciones concisas de proxy

    B.6. La creacin de proxies AOP mediante programacin con el ProxyFactory

    B.7. Manipulacin de objetos asesorados

    B.8. Uso de la "autoproxy" instalacin

    B.8.1. AutoProxy frijol definiciones

    BeanNameAutoProxyCreator

    DefaultAdvisorAutoProxyCreator

    AbstractAdvisorAutoProxyCreator

    B.8.2. El uso de metadatos basada en auto-proxy

    B.9. Usando TargetSources

    B.9.1. Hot swappable fuentes de destino

    B.9.2. La combinacin de fuentes de destino

    B.9.3. Fuentes prototipo de destino

    B.9.4. ThreadLocal fuentes de destino

    B.10. Definicin de nuevos Advice tipos

    B.11. Otros recursos

    C. Migracin a Spring Framework 3.1

    C.1. Componente de exploracin contra el paquete "org" base

    D. Migracin a Spring Framework 3.2

    D.1. Recientemente dependencias opcionales

    D.2. Apoyo EHCache mud a resortes contexto de apoyo

    D.3. Procesos en lnea de primavera-asm tarro

    D.4. Dependencia explcita CGLIB ya no se requiere

    D.5. Para los usuarios de OSGi

    D.6. MVC Java Config y Namespace MVC

    D.7. Decodificacin de Valores URI variables

    D.8. Mtodo HTTP PARCHE

    D.9. Azulejos 3

    D.10. Spring MVC prueba independiente del proyecto

    D.11. Dependencias de pruebas de la primavera

    D.12. Pblicas cambios en el API

    D.12.1. JDiff informes

    D.12.2. El desuso

    E. esquema XML de configuracin basada en

    E.1. Introduccin

    E.2. Esquema XML de configuracin basada en

  • E.2.1. Hacer referencia a los esquemas

    E.2.2. El util esquema

    E.2.3. El jee esquema

    (simple)

    (con ajuste nico entorno JNDI)

    (con mltiples configuraciones de entorno JNDI)

    (complejo)

    (simple)

    (complejo)

    E.2.4. El lang esquema

    E.2.5. El jms esquema

    E.2.6. La tx (transaccin) esquema

    E.2.7. El aop esquema

    E.2.8. El context de esquema

    E.2.9. La tool esquema

    E.2.10. El jdbc esquema

    E.2.11. El cache esquema

    E.2.12. El beans esquema

    F. extensible XML de autora

    F.1. Introduccin

    F.2. Creacin del esquema

    F.3. Codificacin de una NamespaceHandler

    F.4. Codificacin de una BeanDefinitionParser

    F.5. Registrar el manejador y el esquema

    F.5.1. 'META-INF/spring.handlers'

    F.5.2. 'META-INF/spring.schemas'

    F.6. Con una extensin personalizada en su configuracin XML Spring

    F.7. Ms sustancioso ejemplos

    F.7.1. Anidar etiquetas personalizadas dentro de las etiquetas personalizadas

    F.7.2. Los atributos personalizados en "normales" elementos

    F.8. Recursos adicionales

    G. spring.tld

    G.1. Introduccin

    G.2. El bind etiqueta

    G.3. El escapeBody etiqueta

    G.4. El hasBindErrors etiqueta

    G.5. El htmlEscape etiqueta

    G.6. El message etiqueta

    G.7. El nestedPath etiqueta

  • G.8. El theme etiqueta

    G.9. La transform etiqueta

    G.10. La url etiqueta

    G.11. La eval etiqueta

    H. primavera-form.tld

    H.1. Introduccin

    H.2. La checkbox etiqueta

    H.3. La checkboxes etiqueta

    H.4. Los errors etiqueta

    A.5. La form de etiquetas

    A.6. El hidden etiqueta

    A.7. La input etiqueta

    A.8. La label etiqueta

    A.9. La option etiqueta

    H.10. La options etiqueta

    A.11. La password etiqueta

    A.12. El radiobutton etiqueta

    A.13. El radiobuttons etiqueta

    A.14. La select etiqueta

    H.15. El textarea etiqueta

    Prximo

    Parte I. Visin general de Spring

    Framework

    Parte I. Visin general de Spring Framework

    El Spring Framework es una solucin ligera y un potencial one-stop-shop para crear sus

    aplicaciones preparadas para la empresa. Sin embargo, la primavera es modular, lo que

    permite utilizar slo aquellas partes que usted necesita, sin tener que llevar el resto.

    Usted puede utilizar el contenedor IoC, con Struts en la parte superior, pero tambin se

    puede utilizar slo el cdigo de integracin de Hibernate o la capa de abstraccin JDBC

    . El Spring Framework soporta la gestin de transacciones declarativa, el acceso remoto

    a su lgica a travs de RMI o servicios web, y varias opciones para la persistencia de

    datos. Ofrece un completo framework MVC , y le permite integrar AOP transparente en

    su software.

    La primavera est diseado para ser no invasivo, lo que significa que el cdigo de la

    lgica de dominio general, no tiene dependencias en el propio marco. En su capa de

    integracin (tales como la capa de acceso de datos), algunas dependencias de la

    tecnologa de acceso de datos y las bibliotecas Spring existir. Sin embargo, debe ser

    fcil de aislar estas dependencias del resto de la base de cdigo.

    Este documento es una gua de referencia a Spring Framework caractersticas. Si tiene

    alguna solicitud, comentarios o preguntas sobre este documento, por favor publicarlos

  • en la lista de correo del usuario o en los foros de soporte en

    http://forum.springsource.org/ .

    1. Introduccin a Spring Framework

    Spring Framework es una plataforma Java que proporciona la infraestructura de apoyo

    integral para el desarrollo de aplicaciones Java. Spring se encarga de la infraestructura

    para que pueda centrarse en su aplicacin.

    Primavera le permite construir aplicaciones a partir de "objetos" Plain Old Java (POJO)

    y aplicar servicios de la empresa de forma no invasiva para POJOs. Esta capacidad est

    relacionada con el modelo de programacin de Java SE y Java completo y parcial EE.

    Ejemplos de cmo usted, como desarrollador de aplicaciones, puede utilizar la

    plataforma ventaja de primavera:

    Haga un mtodo Java se ejecutan en una transaccin de base de datos sin tener

    que lidiar con las API de transaccin.

    Haga un mtodo local de Java a un procedimiento remoto sin tener que lidiar

    con las API remota.

    Haga un mtodo local de Java una operacin de gestin sin tener que lidiar con

    JMX API.

    Haga un mtodo local de Java un controlador de mensajes sin tener que lidiar

    con las API de JMS.

    1.1 Dependencia de inyeccin y Inversin de Control

    Fondo

    "La pregunta es, qu aspecto del control es [que] invertir?" Planteada Martin Fowler

    esta pregunta sobre inversin de control (IoC) en su sitio en 2004. Fowler sugiri

    cambiar el nombre del principio para que sea ms fciles de entender y vino para arriba

    con la inyeccin de dependencias.

    Para obtener una idea de IoC y DI, consulte el artculo de Fowler en

    http://martinfowler.com/articles/injection.html .

    Las aplicaciones Java - un trmino suelto que cubre toda la gama de applets restringidos

    a aplicaciones de n niveles empresariales de servidor - por lo general consisten en

    objetos que colaboran para formar la correcta aplicacin. As, los objetos de una

    aplicacin tienen dependencias entre s.

    Aunque la plataforma Java proporciona una gran cantidad de funciones de desarrollo de

    aplicaciones, carece de los medios para organizar los bloques de construccin bsicos

    en un todo coherente, dejando esa tarea a los arquitectos y desarrolladores. Es cierto que

    usted puede utilizar patrones de diseo como Factory, Abstract Factory, Builder,

    Decorator, y Servicio de Busqueda para componer las distintas clases e instancias de

    objetos que componen una aplicacin. Sin embargo, estos patrones son simplemente

    eso: buenas prcticas dado un nombre, una descripcin de lo que el patrn hace, dnde

  • se aplican, los problemas que aborda, y as sucesivamente. Los patrones se formalizaron

    las mejores prcticas que debes poner en prctica en su aplicacin.

    El Spring Framework Inversin de Control (IoC) componente aborda este problema al

    proporcionar un medio formal de componer componentes dispares en una aplicacin

    totalmente funcional listo para su uso. El Spring Framework codifica formalizados

    patrones de diseo como objetos de primera clase que se puede integrar en su propia

    aplicacin (s). Numerosas organizaciones e instituciones utilizan el Spring Framework

    de esta manera para disear aplicaciones robustas y fciles de mantener.

    1.2 Mdulos

    El Spring Framework se compone de rasgos organizados en cerca de 20 mdulos. Estos

    mdulos se agrupan en contenedores Core, datos de acceso / integracin, Web, AOP

    (Programacin Orientada a Aspectos), Instrumentacin, y prueba, como se muestra en el

    siguiente diagrama.

    Vista general de la Spring Framework

    1.2.1 Core Container

    El Contenedor Core consiste en el Core, frijoles, contexto y mdulos del lenguaje de

    expresiones.

  • El Core y Frijoles mdulos proporcionan las partes fundamentales de la estructura,

    incluyendo el COI y las caractersticas de inyeccin de dependencias. El BeanFactory

    es una aplicacin sofisticada del patrn de la fbrica. Se elimina la necesidad de una

    programacin singletons y le permite desacoplar la configuracin y especificacin de

    las dependencias de la lgica del programa actual.

    El Contexto mdulo se basa en la slida base proporcionada por el ncleo y Frijoles

    mdulos: es un medio para acceder a los objetos de una manera marco de estilo que es

    similar a un registro de JNDI. El mdulo de contexto hereda sus caractersticas desde el

    mdulo de Beans y aade soporte para internacionalizacin (usando, por ejemplo,

    paquetes de recursos), propagacin de eventos, carga de recursos, y la creacin

    transparente de contextos, por ejemplo, un contenedor de servlets. El mdulo de

    contexto tambin es compatible con Java EE caractersticas tales como EJB, JMX, y

    Remoting bsica. El ApplicationContext interfaz es el punto focal del mdulo

    Context.

    El lenguaje de expresin mdulo proporciona un poderoso lenguaje de expresin para

    consultar y manipular un grfico de objetos en tiempo de ejecucin. Es una extensin

    del lenguaje de expresin unificada (unificado EL) como se especifica en la

    especificacin JSP 2.1. El lenguaje soporta establecer y obtener valores de la propiedad,

    la asignacin de la propiedad, la invocacin de mtodos, el acceso al contexto de arrays,

    colecciones e indizadores, operadores lgicos y aritmticos, las variables con nombre y

    recuperacin de objetos por el nombre del contenedor de Spring COI. Tambin es

    compatible con proyeccin lista y seleccin, as como las agrupaciones comunes de la

    lista.

    1.2.2 Acceso a datos / Integracin

    El acceso a datos / Integracin capa consiste en el JDBC, ORM, OXM, JMS y los

    mdulos de transaccin.

    La JDBC mdulo proporciona una capa de abstraccin JDBC que elimina la necesidad

    de hacer tedioso JDBC codificacin y el anlisis de los cdigos de proveedor de base de

    datos de error especficos.

    El ORM mdulo proporciona capas de integracin para APIs populares mapeo objeto-

    relacional, incluyendo JPA , JDO , Hibernate , y iBatis . Usando el paquete ORM puede

    utilizar todos estos marcos de O / R-mapping en combinacin con todas las ofertas de

    otras caractersticas de la primavera, como la simple funcin de gestin de transacciones

    declarativa mencionado anteriormente.

    El OXM mdulo proporciona una capa de abstraccin que apoya Objeto / XML

    implementaciones de asignacin para JAXB, Castor, XMLBeans, JiBX y XStream.

    El Java Messaging Service ( JMS ) mdulo contiene funciones para mensajes de

    productores y consumidores.

    La transaccin mdulo es compatible con la gestin de transacciones programticas y

    declarativas para las clases que implementan interfaces especiales y para todos sus

    POJO (Plain Old Java Objects).

  • 1.2.3 Web

    La capa de Web consiste en la Web, Web-Servlet, Web Struts, y los mdulos Web de

    portlet.

    Mdulo de Spring Web proporciona bsicas web orientados a funciones de integracin

    como multipart funcionalidad de carga de archivos y la inicializacin del contenedor

    IoC utilizando oyentes servlet y un contexto de aplicacin orientado a la web. Tambin

    contiene las partes relacionados con la web de apoyo a la comunicacin remota Spring.

    El mdulo Web Servlet contiene modelo-vista-controlador de Spring ( MVC ) la

    implementacin de aplicaciones web. Spring MVC marco proporciona una clara

    separacin entre el cdigo y el dominio del modelo de formularios web y se integra con

    todas las otras caractersticas de la infraestructura Spring.

    El mdulo Web Struts contiene las clases de apoyo para la integracin de un clsico

    Struts capa web en una aplicacin de Primavera. Tenga en cuenta que este apoyo es

    considerado obsoleto en la primavera de 3,0. Considere la posibilidad de migrar la

    aplicacin a Struts 2.0 y su integracin Primavera o en una solucin Spring MVC.

    El mdulo Web-Portlet proporciona la implementacin MVC para ser utilizado en un

    entorno de portlet y refleja la funcionalidad de Web-Servlet mdulo.

    1.2.4 AOP e Instrumentacin

    Spring AOP mdulo proporciona un AOP Alliance cumple con aspecto orientado a la

    aplicacin de programacin que le permite definir, por ejemplo, el mtodo-interceptores

    y puntos de corte en el cdigo que implementa limpiamente desacoplar funcionalidades

    que deberan ser separados. Utilizando la funcionalidad de metadatos a nivel de fuente,

    tambin puede incorporar informacin sobre el comportamiento en el cdigo, de forma

    similar a la de los atributos. NET.

    El mdulo Aspectos separado proporciona integracin con AspectJ.

    El mdulo de instrumentacin proporciona apoyo clase de instrumentacin y las

    implementaciones de cargador de clases para ser utilizados en ciertos servidores de

    aplicaciones.

    1.2.5 Prueba

    El mdulo de prueba apoya el examen de las piezas del resorte con JUnit o TestNG.

    Esto proporciona una carga constante de ApplicationContexts primavera y

    almacenamiento en cach de esos contextos. Tambin proporciona los objetos de

    imitacin que puede utilizar para probar el cdigo de forma aislada.

    1.3 Escenarios de uso

  • Los componentes descritos anteriormente hacen primavera una opcin lgica en muchos

    escenarios, desde applets para aplicaciones empresariales completos que utilizan la

    funcionalidad de gestin de transacciones de Spring y la integracin framework web.

    Tpico de pleno derecho Spring aplicacin web

    Spring declarativas caractersticas de administracin de transacciones que la aplicacin

    web plenamente transaccional, como lo sera si se utiliza EJB transacciones gestionadas

    por contenedor. Toda su lgica de negocios personalizada puede implementarse con

    POJOs simples y gestionada por contenedor de Spring COI. Los servicios adicionales

    incluyen soporte para el envo de correo electrnico y la validacin independiente de la

    capa de red, que le permite elegir dnde ejecutar reglas de validacin. Soporte de Spring

    ORM se integra con JPA, Hibernate, JDO y iBatis, por ejemplo, cuando se usa

    Hibernate, puede seguir utilizando sus archivos de mapeo Hibernate estndar existentes

    y SessionFactory de configuracin. Los controladores de formulario se integran

    perfectamente en la web de capa con el modelo de dominio, eliminando la necesidad de

    ActionForms u otras clases que transforman los parmetros HTTP a los valores de su

    modelo de dominio.

  • Primavera de nivel medio utilizando un framework web de terceros

    A veces las circunstancias no le permiten cambiar completamente a un marco diferente.

    El Spring Framework no te obliga a usar todo lo que dentro de ella, no es una solucin

    todo-o-nada. Existentes front-ends construido con WebWork, Struts, Tapestry, u otros

    marcos de interfaz de usuario se puede integrar con un resorte a base de nivel medio, lo

    que le permite utilizar las funciones de Primavera de transaccin. Usted slo tendr que

    conectar su lgica de negocio utilizando un ApplicationContext y utilizar un

    WebApplicationContext para integrar su capa web.

  • Remoting escenario de uso

    Cuando usted necesita el acceso al cdigo existente a travs de servicios web, puede

    utilizar Spring Hessian- , Burlap- , Rmi- o JaxRpcProxyFactory clases. Habilitar el

    acceso remoto a las aplicaciones existentes no es difcil.

  • EJBs - Envolver POJOs existentes

    El Spring Framework tambin proporciona una capa de abstraccin de acceso y para

    Enterprise JavaBeans, lo que le permite volver a utilizar los POJOs existentes y se

    envuelven en beans de sesin sin estado para su uso en aplicaciones web escalable a

    prueba de fallos que podran necesitar la seguridad declarativa.

    1.3.1 Dependencia de Gestin y Convenciones de nomenclatura

    La gestin de dependencias y la inyeccin de dependencia son cosas diferentes. Para

    obtener esas caractersticas agradables de la primavera en su aplicacin (como la

    inyeccin de dependencia) que necesita para ensamblar todas las libreras necesarias

    (archivos jar) y conseguir que en su ruta de clase en tiempo de ejecucin, y

    posiblemente en tiempo de compilacin. Estas dependencias no son componentes

    virtuales que se inyectan, pero los recursos fsicos de un sistema de archivos (por lo

    general). El proceso de gestin de la dependencia consiste en localizar esos recursos,

    almacenarlos y aadirlos a rutas de clases. Las dependencias pueden ser directos (por

    ejemplo, mi aplicacin depende de la primavera en tiempo de ejecucin), o indirecta

    (por ejemplo, mi aplicacin depende de commons-dbcp , que depende de commons-pool

    ). Las dependencias indirectas tambin se conocen como "transitivo" y son estas

    dependencias son las ms difciles de identificar y gestionar.

    Si usted va a usar Spring que necesita para obtener una copia de las bibliotecas jar que

    componen las piezas de la primavera que usted necesita. Para hacer ms fcil esta

    primavera se empaqueta como un conjunto de mdulos que separan a las dependencias

    de la medida de lo posible, as que por ejemplo si no quiere escribir una aplicacin web

    que usted no necesita los mdulos web de resorte. Para hacer referencia a la primavera

    mdulos de biblioteca en esta gua se utiliza una convencin de nomenclatura abreviada

  • spring-* o spring-*.jar, donde "*" representa el nombre corto para el mdulo (por

    ejemplo, spring-core , spring-webmvc , spring-jms , etc). El nombre del jar archivo

    real que se utiliza puede ser de este tipo (ver abajo) o puede que no, y normalmente

    tambin tiene un nmero de versin en el nombre de archivo (por ejemplo, spring-

    core-3.0.0.RELEASE.jar ).

    En general, la primavera publica sus artefactos a cuatro lugares diferentes:

    En el sitio de descarga comunidad

    http://www.springsource.org/download/community . Aqu encontrars todos los

    tarros de primavera agrupados en un archivo zip para facilitar su descarga. Los

    nombres de los frascos aqu desde la versin 3,0 estn en la forma

    org.springframework.*-.jar .

    Maven Central, que es el repositorio predeterminado que las consultas de

    Maven, y no requiere ninguna configuracin especial para su uso. Muchas de las

    bibliotecas comunes que la primavera depende tambin estn disponibles en

    Maven Central y gran parte de la comunidad de Spring utiliza Maven para la

    gestin de la dependencia, por lo que es conveniente para ellos. Los nombres de

    los frascos aqu son en forma spring-*-.jar y la groupId Maven es

    org.springframework .

    El Repositorio Bundle Enterprise (EBR), que est a cargo de SpringSource y

    tambin recibe todas las bibliotecas que se integran con la primavera. Ambos

    repositorios Maven y Ivy estn disponibles aqu para todos los frascos de

    primavera y sus dependencias, adems de un gran nmero de otras bibliotecas

    comunes que la gente utiliza en aplicaciones con Spring. Ambos lanzamientos

    completos y tambin los hitos de desarrollo y las instantneas se despliegan

    aqu. Los nombres de los archivos jar estn en la misma forma que la descarga

    de la comunidad ( org.springframework.*-.jar ) y las

    dependencias se encuentran tambin en esta "larga" forma, con bibliotecas

    externas (no de SpringSource) que tiene el prefijo com.springsource . Ver el

    FAQ para ms informacin.

    En un repositorio Maven pblico alojado en Amazon S3 para instantneas de

    desarrollo y comunicados hito (una copia de las notas finales tambin se celebra

    aqu). Los nombres de los archivos jar estn en la misma forma que Maven

    Central, por lo que este es un lugar til para obtener versiones de desarrollo de

    Primavera para su uso con otras bibliotecas desplegadas en Maven Central.

    As que lo primero que hay que decidir es cmo manejar sus dependencias: la mayora

    de la gente usa un sistema automatizado como Maven o Ivy, pero tambin se puede

    hacer de forma manual mediante la descarga de todos los frascos se. Al obtener Spring

    con Maven o Ivy tiene entonces que decidir qu lugar te va a ir de. En general, si usted

    se preocupa por OSGi, utilice el EBR, ya que alberga OSGi artefactos compatibles para

    todas las dependencias de la primavera, como Hibernate y Freemarker. Si OSGi no le

    importa a usted, ya sea lugar funciona, aunque hay algunos pros y contras entre ellos.

    En general, escoja un lugar u otro para su proyecto, no las mezcle. Esto es

    particularmente importante, ya que los artefactos EBR necesariamente utilizar una

    nomenclatura diferente a Maven artefactos centroamericanos.

    Tabla 1.1. Comparacin de Maven centrales y los registros de SpringSource EBR

  • Caracterstica Maven central EBR

    Compatible

    OSGi No es explcito S

    Nmero de

    Artefactos

    Decenas de miles de

    personas de todo tipo; Cientos; aquellos que se integra con Spring

    Consistente

    Convenciones

    de

    nomenclatura

    No S

    Convencin de

    nomenclatura:

    GroupId

    Vara. Los nuevos

    artefactos suelen utilizar

    el nombre de dominio,

    por ejemplo org.slf4j. Los

    mayores a menudo slo

    tiene que utilizar el

    nombre del artefacto,

    por ejemplo log4j.

    Nombre de dominio de origen o raz del paquete

    principal, por ejemplo org.springframework

    Convencin de

    nomenclatura:

    artifactId

    Vara. En general, el

    proyecto o el nombre del

    mdulo, utilizando un

    guin "-" separador, por

    ejemplo, primavera-core,

    logj4.

    Paquete Nombre simblico, derivado de la raz del

    paquete principal, org.springframework.beans por

    ejemplo. Si el vaso tuvo que ser parcheado para

    asegurar el cumplimiento de OSGi com.springsource

    luego se aade, por ejemplo

    com.springsource.org.apache.log4j

    Convencin de

    nomenclatura:

    Version

    Vara. Muchos artefactos

    nuevos o utilizar mmm

    MMMX (con m = dgito,

    X = texto). Los mayores

    utilizan mm Algunos

    ninguno. Orden est

    definida, pero no se

    basaban a menudo, as

    que no es estrictamente

    confiable.

    OSGi versin nmero MMMX, por ejemplo

    3.0.0.RC3. El calificador de texto impone orden

    alfabtico en las versiones con los mismos valores

    numricos.

    Publicacin

    Por lo general, a travs

    de actualizaciones

    automticas de control

    de rsync o fuente.

    Autores del proyecto

    pueden cargar tarros

    Manual (JIRA procesado por SpringSource)

  • Caracterstica Maven central EBR

    individuales para JIRA.

    Aseguramiento

    de la Calidad

    Por poltica. La exactitud

    es responsabilidad de los

    autores.

    Amplia para manifestar OSGi, Maven POM y los

    metadatos Ivy. Control de calidad realizado por el

    equipo de Primavera.

    Hosting

    Contegix. Financiado por

    Sonatype con varios

    espejos.

    S3 financiado por SpringSource.

    Utilidades de

    bsqueda Vario http://www.springsource.com/repository

    Integracin con

    herramientas

    SpringSource

    Integracin a travs de

    STS con Maven

    dependencia de gestin

    Amplia integracin a travs de STS con Maven, Roo,

    CloudFoundry

    Primavera Dependencias y dependiendo de Primavera

    Aunque Spring proporciona integracin y soporte para una amplia gama de empresas y

    otras herramientas externas, se mantiene intencionalmente sus dependencias

    obligatorias a un mnimo absoluto: usted no debera tener que localizar y descargar

    (incluso de forma automtica) un gran nmero de bibliotecas jar con el fin de usar

    Spring para casos de uso sencillo. Para la inyeccin de dependencia bsica slo hay una

    dependencia externa obligatoria, y que es para el registro (ver ms abajo para una

    descripcin ms detallada de las opciones de registro).

    A continuacin se describen los pasos bsicos necesarios para configurar una aplicacin

    que depende de la primavera, primero con Maven y luego con Ivy. En todos los casos, si

    tiene alguna duda, consulte la documentacin de su sistema de gestin de la

    dependencia, o ver algunos ejemplos de cdigo - Primavera mismo usa Ivy para

    gestionar las dependencias cuando se est construyendo, y nuestras muestras de todo el

    uso de Maven.

    Maven Dependencia de Gestin

    Si est utilizando Maven para la gestin de la dependencia que usted ni siquiera necesita

    para abastecer a la dependencia de registro de forma explcita. Por ejemplo, para crear

    un contexto de aplicacin y uso de la inyeccin de dependencia para configurar una

    aplicacin, sus dependencias de Maven se ver as:

    org.springframework

    resorte contexto

  • 3.0.0.RELEASE

    runtime

    Eso es todo. Tenga en cuenta el alcance puede declarar como tiempo de ejecucin si no

    es necesario compilar contra primavera APIs, que suele ser el caso para los casos de

    dependencia bsicas de uso de la inyeccin.

    Se utilizaron las convenciones de nomenclatura central de Maven en el ejemplo

    anterior, por lo que trabaja con Maven Central o el repositorio Maven SpringSource S3.

    Para utilizar el repositorio Maven S3 (por ejemplo, para los hitos o instantneas de

    desarrollo), debe especificar la ubicacin del repositorio en la configuracin de Maven.

    Para las versiones completas:

    com.springsource.repository.maven.release

    http://repo.springsource.org/release/

    false

    Por hitos:

    com.springsource.repository.maven.milestone

    http://repo.springsource.org/milestone/

    false

    Y para instantneas:

    com.springsource.repository.maven.snapshot

    http://repo.springsource.org/snapshot/

    true

    Para utilizar el EBR SpringSource usted tendra que usar una convencin de

    nomenclatura diferente para las dependencias. Los nombres son generalmente fciles de

    adivinar, como por ejemplo en este caso es:

    org.springframework

    org.springframework.context

    3.0.0.RELEASE

    runtime

  • Tambin es necesario declarar la ubicacin del repositorio de forma explcita (slo la

    direccin URL es importante):

    com.springsource.repository.bundles.release

    http://repository.springsource.com/maven/bundles/release/

    Si usted est manejando sus dependencias a mano, la direccin URL en el repositorio

    declaracin anterior no es navegable, pero no hay una interfaz de usuario en

    http://www.springsource.com/repository que se puede utilizar para buscar y descargar

    dependencias. Tambin cuenta con fragmentos tiles de Maven y configuracin Ivy que

    puede copiar y pegar si est utilizando estas herramientas.

    Ivy Dependencia de Gestin

    Si usted prefiere usar Ivy para gestionar las dependencias entonces hay nombres

    similares y opciones de configuracin.

    Para configurar Ivy para apuntar a la EBR SpringSource agregar los dispositivos de

    resolucin siguientes a su ivysettings.xml :

  • El XML anterior no es vlido porque las lneas son demasiado largas - si usted copia y

    pega a continuacin, retire los finales de lnea extra en el medio de los patrones de URL.

    Una vez que Ivy est configurado para buscar en la EBR aadir una dependencia es

    fcil. Basta con tirar de la pgina de detalles del paquete en cuestin en el navegador de

    repositorios y encontrars un fragmento de Ivy listo para que lo incluya en su seccin de

    dependencias. Por ejemplo (en ivy.xml ):

    1.3.2 Registro

    El registro es una dependencia muy importante para la primavera debido a ella) es la

    dependencia externa slo es obligatoria, b) todo el mundo le gusta ver un poco de la

    salida de las herramientas que estn utilizando, y c) Spring integra con muchas otras

    herramientas de las cuales tambin han hecho una opcin de registro de dependencia.

    Uno de los objetivos de un desarrollador de aplicaciones suele tener configurado el

    registro unificado en un lugar central para la aplicacin en su conjunto, incluyendo

    todos los componentes externos. Esto es ms difcil de lo que podra haber sido, ya que

    hay tantas opciones de marco de registro.

    La dependencia de registro obligatorio en primavera es el Jakarta Commons Logging

    API (JCL). Recopilamos contra JCL y tambin hacemos JCL Log objetos visible para

    las clases que extienden el Spring Framework. Es importante para los usuarios que

    todas las versiones de Spring utilizar la biblioteca de la tala mismo: la migracin es fcil

    debido a la compatibilidad hacia atrs se conserva incluso con aplicaciones que amplan

    la primavera. La manera de hacer esto es hacer que uno de los mdulos en Spring

    dependen explcitamente en commons-logging (la implementacin cannica de JCL), y

    luego hacer todos los mdulos de los otros depende de que en tiempo de compilacin.

    Si est utilizando Maven por ejemplo, y preguntando dnde cogi la dependencia de los

    commons-logging , entonces es a partir de la primavera y en concreto desde el mdulo

    central llamada spring-core .

    Lo bueno de commons-logging es que no hace falta nada ms para hacer su trabajo de

    la aplicacin. Cuenta con un algoritmo de descubrimiento de tiempo de ejecucin que

    busca marcos de tala en lugares bien conocidos en la ruta de clase y utiliza uno que

    piensa que es apropiado (o se puede decir que uno si es necesario). Si nada ms est

    disponible a obtener los registros que buscan bastante agradable justo desde el JDK

    (java.util.logging o julio para abreviar). Usted debe saber que la aplicacin funciona

    primavera y registra felizmente a la consola de la caja en la mayora de las situaciones,

    y eso es importante.

    No utilizar Commons Logging

    Desafortunadamente, el algoritmo de descubrimiento de tiempo de ejecucin en

    commons-logging , aunque conveniente para el usuario final, es problemtica. Si

    pudiramos volver atrs el reloj y empezar la primavera ahora como un nuevo proyecto

    que usara una dependencia de registro diferente. La primera opcin sera

    probablemente la fachada de registro simple para Java ( SLF4J ), que tambin es

  • utilizado por una gran cantidad de otras herramientas que utilizan las personas con la

    primavera dentro de sus aplicaciones.

    Desconexin commons-logging es fcil: slo asegrese de que no est en la ruta de

    clase en tiempo de ejecucin. En trminos Maven se excluye la dependencia, y por la

    forma en que las dependencias de primavera se declaran, slo tienes que hacer esto una

    vez.

    org.springframework

    resorte contexto

    3.0.0.RELEASE

    runtime

    commons-logging

    commons-logging

    Ahora bien, esta aplicacin est probablemente roto porque no existe una

    implementacin de la API de JCL en la ruta de clases, por lo que para solucionarlo por

    uno nuevo tiene que ser proporcionada. En la siguiente seccin te mostramos cmo

    proporcionar una implementacin alternativa de JCL SLF4J utilizando como ejemplo.

    Usando SLF4J

    SLF4J es una dependencia ms limpia y ms eficiente en tiempo de ejecucin de

    commons-logging , ya que utiliza enlaces en tiempo de compilacin en lugar de

    descubrimiento tiempo de ejecucin de los marcos de tala se integra. Esto tambin

    significa que usted tiene que ser ms explcitos acerca de lo que quieres que ocurra

    durante la ejecucin y declararla o configurarlo en consecuencia. SLF4J ofrece enlaces

    a muchos marcos comunes de tala, por lo que normalmente puede elegir uno que ya

    utiliza, y se unen a la de configuracin y gestin.

    SLF4J ofrece enlaces a muchos marcos comunes, incluyendo la tala JCL, y tambin

    hace lo contrario: puentes entre los marcos de tala y ella misma. As que para usar

    SLF4J con la primavera es necesario sustituir el commons-logging dependencia con el

    puente SLF4J-JCL. Una vez que haya hecho eso entonces las llamadas de registro desde

    dentro de Primavera ser traducido al registro de llamadas a la API SLF4J, as que si

    otras bibliotecas en el uso de aplicaciones que API, entonces usted tiene un lugar nico

    para configurar y administrar el registro.

    Una opcin comn podra ser la de salvar a SLF4J primavera, y luego proporcionar

    enlace explcito de SLF4J a Log4J. Deber proporcionar 4 dependencias (y excluir la

    existente commons-logging ): el puente, la API SLF4J, la unin a Log4J, y la

    aplicacin Log4J s mismo. En Maven que hara que al igual que este

  • org.springframework

    resorte contexto

    3.0.0.RELEASE

    runtime

    commons-logging

    commons-logging

    org.slf4j

    jcl-over-slf4j

    1.5.8

    runtime

    org.slf4j

    slf4j-api

    1.5.8

    runtime

    org.slf4j

    slf4j-log4j12

    1.5.8

    runtime

    log4j

    log4j

    1.2.14

    runtime

    Esto puede parecer como un montn de dependencias slo para obtener algn registro.

    Bueno, lo que sea, pero es opcional, y debe comportarse mejor que el de vainilla

    commons-logging con respecto a las cuestiones de cargador de clases, especialmente si

    usted est en un contenedor estricto como una plataforma OSGi. Al parecer tambin hay

    una mejora en el rendimiento ya que los enlaces no son en tiempo de compilacin en

    tiempo de ejecucin.

    Una eleccin ms comn entre los usuarios SLF4J, que utiliza menos pasos y genera

    menos dependencias, es para unirse directamente a Logback . Esto elimina el paso de

    unin extra porque Logback SLF4J implementa directamente, por lo que slo tendr

    que depender de dos bibliotecas no cuatro ( jcl-over-slf4j y logback ). Si usted

    hace que usted tambin tenga que excluir la dependencia slf4j-api de otras dependencias

    externas (no Spring), ya que slo quieren una versin de esa API en el classpath.

    Usando Log4J

    Muchas personas usan Log4j como un marco de registro para fines de configuracin y

    gestin. Es eficiente y bien establecido, y de hecho es lo que usamos en tiempo de

    ejecucin cuando construimos y pruebas de la primavera. La primavera tambin

  • proporciona algunas utilidades para configurar e inicializar Log4j, por lo que tiene un

    opcional de tiempo de compilacin dependencia de Log4j en algunos mdulos.

    Para hacer el trabajo Log4j con la dependencia defecto JCL ( commons-logging ) todo

    lo que tiene que hacer es poner Log4j en la ruta de clases, y dotarla de un archivo de

    configuracin ( log4j.properties o log4j.xml en la raz de la ruta de clase). As que

    para los usuarios de Maven es tu declaracin de dependencia:

    org.springframework

    resorte contexto

    3.0.0.RELEASE

    runtime

    log4j

    log4j

    1.2.14

    runtime

    Y aqu est una log4j.properties muestra para el registro en la consola:

    log4j.rootCategory = INFO, stdout

    log4j.appender.stdout = org.apache.log4j.ConsoleAppender

    log4j.appender.stdout.layout = org.apache.log4j.PatternLayout

    log4j.appender.stdout.layout.ConversionPattern =% d {ABSOLUTE}% 5p%

    t% c {2}:% L -% m% n

    log4j.category.org.springframework.beans.factory = DEBUG

    Los contenedores de tiempo de ejecucin con JCL Nativo

    Muchas personas ejecutar sus aplicaciones de primavera en un recipiente que se

    proporciona una implementacin de JCL. IBM Websphere Application Server (WAS)

    es el arquetipo. Esto a menudo causa problemas, y por desgracia no hay una solucin

    mgica, simplemente excluyendo commons-logging de su solicitud no es suficiente en

    la mayora de las situaciones.

    Para ser claros en esto: los problemas reportados no son por lo general con JCL per se, o

    incluso con commons-logging : sino que tienen que ver con la unin commons-logging

    a otro marco (a menudo Log4J). Esto puede fallar porque commons-logging cambiado

    la forma de hacer el descubrimiento en tiempo de ejecucin entre las versiones

    anteriores (1,0) se encuentran en algunos contenedores y las versiones modernas que la

    mayora de la gente usa ahora (1,1). Primavera no utiliza ninguna pieza inusual de la

    API de JCL, por lo que se rompe nada all, pero tan pronto como la primavera o la

    aplicacin intenta hacer cualquier registro que usted puede encontrar los enlaces a

    Log4J no estn funcionando.

    En estos casos, con era la cosa ms fcil de hacer es invertir la jerarqua cargador de

    clases (IBM llama "ltimo padre") para que la aplicacin controla la dependencia JCL,

  • no el contenedor. Esa opcin no est siempre abierta, pero hay un montn de otras

    sugerencias en el dominio pblico para enfoques alternativos, y su experiencia puede

    variar dependiendo de la versin exacta y el conjunto de caractersticas del envase.

    2. Nuevas caractersticas y mejoras en Spring

    Framework 3.0

    Si usted ha estado usando Spring Framework durante algn tiempo, usted se dar cuenta

    que la primavera ha sido objeto de dos revisiones importantes: Spring 2.0, lanzado en

    octubre de 2006, y