La Spring Framework proporciona un conjunto completo de herramientas de desarrollo de software que aceleran todo el edificio, el funcionamiento y la gestión de las aplicaciones empresariales Java.
La combinación MVC con AOP y DI (COI), Primavera es un conjunto de herramientas de avanzada que puede ser una sustitución o adición al modelo EJB (Enterprise JavaBean).
El resorte funciona en el cuidado de toda la lógica del código complejo que se encuentra en la parte más vulnerable de cualquier software de Java lista para la empresa, liberando al desarrollador para centrarse más en la lógica de negocio a nivel de aplicación.
El Spring Framework viene con una gran cantidad de documentación, ejemplos, tutoriales y plugins gratuitos para ampliar la funcionalidad por defecto
¿Qué hay de nuevo en esta versión:.
- Soporte @NumberFormat como un meta-anotación
- tala RestTemplate de 404 código de estado
- Ignorar nulo en HeadersBuilder # cabeceras
- TcpConnection debe extenderse java.io.Closeable
¿Qué hay de nuevo en la versión 4.2.4 / 3.2.16:
- Soporte @NumberFormat como meta -annotation
- tala RestTemplate de 404 código de estado
- Ignorar nulo en HeadersBuilder # cabeceras
- TcpConnection debe extenderse java.io.Closeable
¿Qué hay de nuevo en la versión 4.1.7 / 3.2.14 / 4.2.0.RC3:
- @NumberFormat apoyo como un meta-anotación
- tala RestTemplate de 404 código de estado
- Ignorar nulo en HeadersBuilder # cabeceras
- TcpConnection debe extenderse java.io.Closeable
¿Qué es la nueva en la versión 4.1.6 / 3.2.13 / 4.20.RC1:
- Soporte @ NumberFormat como un meta-anotación
- tala RestTemplate de 404 código de estado
- Ignorar nulo en HeadersBuilder # cabeceras
- TcpConnection debe extenderse java.io.Closeable
¿Qué hay de nuevo en la versión 4.1.6 / 3.2.13:
- Soporte @NumberFormat como meta -annotation
- tala RestTemplate de 404 código de estado
- Ignorar nulo en HeadersBuilder # cabeceras
- TcpConnection debe extenderse java.io.Closeable
Lo que es nuevo en la versión 4.1.5 / 3.2.13:
- Spring Framework 4.1.2 es la segunda versión de mantenimiento en la línea 4.1.x, pero también se presenta como una liberación de la tecla de opciones, incluyendo muchas mejoras sugeridas por los usuarios y aportados por los usuarios.
¿Qué es la nueva en la versión 4.1.1:.
- manejo consistente de tipo opcional de Java 8
- Una clase constructor Jackson ObjectMapper con valores predeterminados refinados.
- Algunos refinamientos JDBC solicitados.
- mejoras de rendimiento específico.
¿Qué hay de nuevo en la versión 4.1.0:
- campo directo apoyo unión con auto-crecimiento para anidada campos
- de opcional para los puntos de inyección y los parámetros de controlador MVC Java 8
- Soporte para la anotación @Priority estándar para ordenar la dependencia y la selección
- métodos anotado @Lookup con soporte para argumentos de constructor previstas
- scripts SQL declarativos y transacciones programáticas en el marco TestContext
- Mejora de la configuración de Hibernate JPA: niveles de aislamiento, el descubrimiento de los paquetes administrados
- métodos de detectores anotado JMS
- Soporte completo para JCache (JSR-107) anotaciones
- resolución flexible y transformación de los recursos web estáticas
- vistas MVC: resolución declarativa, plantillas de marcado maravilloso, de Jackson JSONView
- WebSocket refinamientos: WebSocket alcance, soporte al cliente SockJS, WebSocket estadísticas
- Rendimiento: SpEL modo de compilador, la concurrencia de ajuste a través del contenedor
¿Qué es la nueva en la versión 4.0.3:.
- Java 8 de soporte está ahora listo para la producción
¿Qué es la nueva en la versión 4.0.2 / 3.2.8:
- Fortalece primavera OXM para proteger contra una vulnerabilidad XXE.
¿Qué hay de nuevo en la versión 4.0.1 / 3.2.7:
- Ambas versiones vienen con fallo significativo correcciones y mejoras con respecto a sus predecesores inmediatos y son muy recomendables para una actualización.
¿Qué hay de nuevo en la versión 3.2.4:
- Esta versión incluye numerosas correcciones de errores y mejoras, incluyendo un importante corrección de seguridad para la primavera de OXM.
¿Qué hay de nuevo en la versión 3.2.1:
- JmsTemplate utiliza configurado ReceiveTimeout si más corta que espera de transacción restante .
- Agregado MappingJackson2MessageConverter para JMS.
- parámetro JDBC de unión utiliza JDBC 3.0 ParameterMetaData (si está disponible) para la determinación de tipo.
- JpaTransactionManager etc encuentra EntityManagerFactory defecto en el contexto de los padres también.
- MimeMessageHelper codifica nombre del archivo adjunto si no es compatible con ASCII.
- FreeMarkerConfigurationFactory apoya adecuadamente TemplateLoaders al volver a crear configuraciones.
- SpringContextResourceAdapter implementa iguales / hashCode de acuerdo con el contrato de JCA 1.5.
- ContextLoader detecta correctamente WebApplicationContext pre-refrescado.
- Se ha añadido soporte para los marcadores de posición en @RequestMapping valor de anotación.
- Se ha añadido soporte para la especificación de un código de mensaje como @ResponseStatus razón.
- HttpEntityMethodProcessor apoya HttpEntity / ResponseEntity subclases también.
- Azulejos 3 TilesConfigurer funciona correctamente en combinación con & quot; completeAutoload & quot;.
¿Qué hay de nuevo en la versión 3.2.0:
- refinamientos de concurrencia de todo el marco, evitando el uso de la sincronización siempre que sea posible - en particular para los granos / prototipo de ámbito
- Teniendo en @Autowired y @Valor para ser utilizado como meta-anotaciones, por ejemplo para construir anotaciones de inyección de encargo en combinación con los calificadores específicos
- Soporte para anotaciones definición personalizada @Bean en clases, por ejemplo @Configuration en combinación con los calificadores específicos, @Lazy, @Primary, etc
- procesamiento asíncrono MVC en Servlet 3.0, con métodos de controlador de Spring MVC poder volver callables y DeferredResults
- La inclusión del proyecto de prueba Spring MVC ex-independiente, permitiendo primera clase de prueba de aplicaciones Spring MVC
¿Qué hay de nuevo en la versión 3.2 RC2:
- Soporte Azulejos-3
- Se ha añadido soporte para & # x3c; & # ref X3e; Además de los & # x3c; Bean & # X3e; para & # x3c; MVC: message-convertidores & # X3e;
¿Qué es la nueva en la versión 3.1.3:.
- Esta versión incluye más de 80 mejoras y correcciones de errores
¿Qué hay de nuevo en la versión 3.1.2:
- Esta versión incluye muchas correcciones de errores y mejoras importantes y de menor importancia es una actualización recomendada.
¿Qué hay de nuevo en la versión 3.2 M1:
- El soporte inicial para los métodos asíncronos @Controller
- apoyo temprano para los proveedores de caché basada en JCache
- mejoras de rendimiento significativas en autowiring de los granos no simples
- Soporte Retardo inicial para @Scheduled y & # x3c; tarea: programado & # X3e;
- Posibilidad de elegir entre múltiples executuors con @Async
- selección del perfil de frijol mejorada mediante el no (!) Del operador
- 48 errores corregidos, 8 nuevas características y mejoras implementadas 36
¿Qué es la nueva en la versión 3.1.0:
- El entorno de la abstracción y la definición de los perfiles de frijol asociados, junto con las fuentes de propiedades configurables centralmente para la resolución de marcador de posición.
- configuración de la aplicación basada en Java basado en Habilitar anotaciones @ * en clases de configuración, permitiendo la configuración del contenedor conveniente: por ejemplo, utilizando @EnableTransactionManagement para activar el procesamiento de transacciones declarativa.
- La abstracción caché con nuestra solución de almacenamiento en caché declarativa (@Cacheable etc) en la parte superior, centrándose en la interacción conveniente entre los proveedores de código de aplicación y de caché.
- El mecanismo WebApplicationInitializer basado en Servlet 3.0 para el arranque de una aplicación web de primavera sin web.xml! Esta es una pieza clave en la historia de configuración web de la primavera, proporcionando una alternativa rica de bootstrapping basado en XML.
- Revisado procesamiento MVC con el apoyo atributo flash, una nueva anotación @RequestPart, y el otro refinamiento soporte de reposo. Esta nueva HandlerMapping / HandlerAdapter variante también es altamente extensible para las necesidades de encargo MVC.
¿Qué hay de nuevo en la versión 3.1.0.RC1:
- Soporte para Hibernate 4.0 (hasta la fecha con 4,0 CR4)
- Soporte para la infraestructura completa para TestContext clases @Configuration
- alcance del flash para Spring MVC
- Compatibilidad con Cuarzo 2.0
- 77 errores, 16 nuevas características, mejoras 66
correcciones
¿Qué es la nueva en la versión 3.0.6:
- aspectos fijos bundle para declarar las dependencias de aspecto @Async así
- ProxyCreationContext utiliza & quot; ThreadLocal.remove () & quot; sobre & quot; ThreadLocal.set (nulo) & quot; así
- DefaultListableBeanFactory sólo es deserializable a través de un SerializedBeanFactoryReference
- getBean de DefaultListableBeanFactory (nombre, tipo) intenta tipo de conversión si es necesario
- DefaultListableBeanFactory permite los métodos de arranque para registrar más definiciones de frijol (de nuevo)
- XmlBeanDefinitionReader acepta Descripción subelemento dentro mapa de entradas también (según el XSD)
- ConfigurationClassPostProcessor admite el uso del procesador misma instancia con varias fábricas
- Fijo potencial NPE InjectionMetadata utilizando SpringBeanAutowiringInterceptor
- SpringBeanAutowiringSupport es capaz de procesar anotaciones @value en cualquier instancia de destino determinado
- anotaciones alteradas temporalmente @PersistenceContext sobre métodos de la subclase están siendo procesada correctamente
- BeanDefinitionVisitor ahora en realidad visitas nombres de los métodos de fábrica
- Soporte restablecido por Conversión de cadenas a ContextResource
- antiguo comportamiento GenericConversionService original con respecto a las colecciones vacías / mapas
- antiguo comportamiento FormattingConversionService original con respecto a la utilización de los subtipos
- Agregado & quot; & quot formateadores; propiedad a FormattingConversionServiceFactoryBean
- Colección de conversión / matriz devuelve colección original, si es posible (en lugar del primer elemento)
- Fija la resolución elemento de la colección cuando se utiliza un ConversionService con un DataBinder
- DataBinder utiliza un límite predeterminado de 256 para serie / colección de auto-crecimiento
- Agregado & quot; autoGrowNestedPaths & quot; propiedad a ConfigurableWebBindingInitializer
- servlet / PortletRequestDataBinder realizar desenvolver para MultipartRequest así
- AbstractBindingResult fija, para evitar NPE en & quot; hashCode () & quot; si el objetivo es nulo
- corregido diversos problemas HttpHeaders (manejo conjunto de caracteres, citando / unquoting)
- SimpleClientHttpRequest utiliza el modo de transmisión de longitud fija (siempre establece cabecera Content-Length)
- Agregado & quot; ConnectTimeOut & quot; y & quot; ReadTimeout & quot; propiedades a simple / CommonsClientHttpRequestFactory
- código de estado explícita en RedirectView respetado en el modo de compatibilidad HTTP 1.0
- FormHttpMessageConverter procesa correctamente las peticiones POST
- ResourceHttpRequestHandler no establece cabecera Content-Length para 304 la respuesta li>
- ResourceHttpRequestHandler detecta recorrido de directorio válida en el camino dado
- LocaleChangeInterceptor valida valores de un local con el fin de evitar la vulnerabilidad XSS
- HtmlUtils escapa correctamente comillas simples, así
- Se ha añadido soporte para web.xml context-param & quot; springJspExpressionSupport & quot; (Explícita & quot; verdadero & quot; / & quot; falso & quot;)
- ContextLoader y FrameworkServlet apoyo & quot; ContextID & quot; Identificación del parámetro para serialización personalizada
- RemoteExporter utiliza un proxy opaco para 'ServiceInterface' (no hay interfaces de AOP expuestos)
- Agregado & quot; acceptProxyClasses & quot; bandera para RemoteInvocationSerializingExporter
- Refinado WebLogic RMI descriptor de método única marca 'getTargetInterfaceName' como idempotente
- EhCacheManagerFactoryBean cierra correctamente & quot; ehcache.xml & quot; flujo de entrada, en su caso
- Revisado JMS CachedConnectionFactory para evitar la innecesaria rollback pide que la Sesión volver
- Fijo JMS CachedConnectionFactory para sincronizar completamente su lista de sesión
- Fija el manejo de matrices como parámetros de consulta de NamedParameterJdbcTemplate
- Fijo JPA 2.0 tiempo de espera de consejos para especificar correctamente milisegundos
- paquete de cuarzo actualizado para soportar cuarzo 1.8 también (nota: no apoyar cuarzo 2.0 aún)
- fija el orden de ejecución @Rule en SpringJUnit4ClassRunner para que coincida con el comportamiento estándar JUnit 4
¿Qué hay de nuevo en la versión 3.1.0.M2:
- equivalentes de código para espacios de nombres XML de Spring
- API de estilo Generador de configuración de Hibernate basada en el código
- marco de apoyo para TestContext @Configuration clases y perfiles de definición de frijol
- Soporte para la inyección contra JavaBeans emisores no estándar
- Soporte para Servlet 3 configuración basada en código de contenedor de servlets
- Soporte para Servlet 3 MultipartResolver
- APP EntityManagerFactory bootstrapping sin persistence.xml
- basada en HandlerMethod nuevas clases de soporte para procesamiento Controlador anotado
- consume y produce Condiciones @RequestMapping
- Trabajo con variables de plantilla URI en los métodos de controlador
- Validación Para Argumentos @RequestBody Método
¿Qué hay de nuevo en la versión 3.0.5:
- Aupport de Hibernate 3.6 final
- Añadido abstracción núcleo serializador con implementaciones por defecto utilizando la serialización de Java
- El uso constante de la JDK 1.5 y quot; ThreadLocal.remove () & quot; sobre & quot; ThreadLocal.set (nulo) & quot;
- Fijo JodaTimeContextHolder utilizar un ThreadLocal no heredable y exponer un método de restablecimiento
- Revisado & quot; ClassUtils.isAssignable & quot; la semántica para cubrir las primitivas vs envoltorios en ambas direcciones
- Rendimiento optimizado AnnotationUtils findAnnotation para la búsqueda repetida en mismas interfaces
- ConversionService se protege frente a la recursividad infinita en ObjectToCollectionConverter
- Fijo TypeDescriptor para resolver correctamente las colecciones anidadas y sus tipos de elementos
- BeanWrapper no intenta rellenar los valores Mapa de acceso (solo auto-crece propio mapa)
- Fijo Autowired / CommonAnnotationBeanPostProcessor para prevenir condición de carrera en saltar de verificación
- Fijo inyección @Valor para almacenar en caché correctamente los resultados nulos temporales para las semillas no simples
- Application Context registra ClassArrayEditor-contexto específico de su cargador de clases de frijol
- procesamiento singleton Application Context refinado para no falla para casos nulos registrados manualmente
- fija para el procesamiento de eventos Application Context repetidas invocaciones a los granos de oyente no simples
- mensajes de error @Bean optimizados para los métodos estáticos de la fábrica, así como para los desajustes de tipo argumento
- expresión Modificado el análisis de pasar contexto TypeDescriptor completa a través de ConversionService llama
- Adaptado del analizador de expresiones Constructor / MethodResolver para aceptar TypeDescriptors en lugar de tipos de primas
- SpEL permite la proyección en cualquier tipo de colección (no sólo en las listas y matrices)
- SpEL MapAccessor rechaza sistemáticamente & quot; target.key & quot; Acceso al estilo Maps si no se encuentra dicha tecla
- Spel invocaciones de métodos prefieren método con el menor número de parámetros (por ejemplo, sin argumentos sobre vararg)
- AspectJExpressionPointcut utiliza cargador de clases de frijol para inicializar el analizador AspectJ punto de corte
- variante basada en AspectJ Agregado AnnotationAsyncExecutionAspect a partir del procesamiento de @Async
- Modo de Alta = & quot; proxy de & quot; / & quot; aspectj & quot; y las opciones de clase de destino proxy para la tarea: anotación impulsada
- paquete JDBC utiliza ClassLoader locales como cargador de clases de frijol para & quot; sql-error-codes.xml & quot; analizar
- EmbeddedDatabaseFactory apaga base de datos cuando no haber poblarlo en & quot; initDatabase () & quot;
- Soporte Base de datos integrada ahora también funciona con Derby & # X3e; = 10.6
- & quot; JDBC: embebido en la base de datos & quot; Utiliza ID como nombre de la base para permitir que los múltiples en paralelo
- ResourceDatabasePopulator lanza ScriptStatementFailedException descriptivo, con detalles de los recursos
- Alta tipos / Declaración de destino de conexión / ResultSet configurables para Jdbc4NativeJdbcExtractor
- Agregado OracleJdbc4NativeJdbcExtractor con tipos de API preconfiguradas Oracle JDBC
- DefaultLobHandler de & quot; wrapAsLob & quot; modo funciona con PostgreSQL de & quot; getAsciiStream () & quot; requisito
- ResultSetWrappingSqlRowSet (usadas por JdbcTemplate de & quot; queryForRowSet & quot;) soporta etiquetas de columna ahora
- de & quot; LocalSessionFactoryBean entityCacheStrategies & quot; funciona con nombres de región en Hibernate 3.6, así
- de DefaultMessageListenerContainer fijo sin mensaje recibido comprometerse a trabajar sin cache de sesiones
- saltos de DefaultMessageListenerContainer sin mensaje recibido en Ejecutar en Tibco (evitando un callejón sin salida)
- JaxWsPortClientInterceptor no cae de nuevo a nombre de anotación especificado como PORTNAME más
- UriTemplate es serializable ahora
- almacenamiento en caché de AnnotationMethodHandlerAdapter fija, para evitar problemas de concurrencia en RequestMappingInfo
- Fijo procesamiento @MVC de anotaciones a nivel de parámetros para trabajar con proxies basados en la interfaz de nuevo
- procesamiento @RequestParam revisado para apoyar CSV-a-array / unión con ConversionService colección
- fija el almacenamiento en caché de EvaluationContext EvalTag para manejar correctamente el almacenamiento en caché JSP etiqueta en las solicitudes
- AbstractJasperReportsView sólo establece los atributos de modelo de locale si no está presente
- DispatcherPortlet lanza NoHandlerFoundException personalizado en lugar de inducir a error UnavailableException
- copias DispatcherPortlet todos los parámetros de la acción de los parámetros de representación en caso de una excepción acción
- recurso predeterminado de DispatcherPortlet servir explícitamente impide el acceso a la WEB-INF y META-INF
- métodos de portlets @ExceptionHandler permiten escribir la respuesta directa (como en el caso de servlets)
- MockHttpServletRequest / HttpSession / etc devuelve recuento independiente de & quot; getAttributeNames () & quot;
Requisitos
- Java 1.3 o superior
Comentarios que no se encuentran