Upload
alejandro-heras-medrano
View
2.041
Download
14
Embed Size (px)
Citation preview
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