-
Couldn't load subscription status.
- Fork 5
Migrating from earlier versions of the Spring Framework
This page provides information when upgrading to newer versions of the Spring Framework. If you find items not covered yet, please raise a ticket in JIRA or submit a pull-request against this page.
For a general overview of new features, refer to New Features and Enhancements in Spring Framework 4.0 in the reference documentation.
Spring Framework 4.0 requires Java SE 6 or above (specifically, a minimum level equivalent to JDK 6 update 10, as released in late 2008). If you are migrating from an older version of Java, you will need to update your installation to a recent version of JDK 6 at least. Java 7 and 8 are recommended for use with Spring Framework 4.0, with Java 8 support in stable developer preview state until OpenJDK 8 goes final in March 2014.
If you deploy your Spring application to a Java EE server, you should ensure that it is certified for Java EE 6 or above. Of particular importance are the JPA 2.0 and Servlet 3.0 specifications. That said, it is still possible to deploy a Spring Framework 4.0 application to a Servlet 2.5 container (e.g. Google App Engine, WebSphere 7, WebLogic 10.3); however, some Servlet 3.0 based Spring features won't be available.
Spring Framework 4.0 declares the following minimum (optional) dependencies:
- Servlet 3.0 (2.5 supported for deployment)
- JPA 2.0
- Bean Validation 1.0
- JSF 2.0
- JCache 1.0 PFD
- JDO 3.0
- Tomcat 6.0.30
- Jetty 7.3
- JBoss AS 6.0
- GlassFish 3.1
- Oracle WebLogic 10.3.4 (with JPA 2.0 patch applied)
- IBM WebSphere 7.0.0.9 (with JPA 2.0 feature pack installed)
- Hibernate Validator 4.3
- Hibernate 3.6 (4.2 recommended)
- EhCache 2.1 (2.5+ recommended)
- Quartz 1.8 (2.2 recommended)
- Jackson 1.8 (2.2 recommended)
- Groovy 1.8 (2.2 recommended)
- Joda-Time 2.0 (2.3 recommended)
- Hessian 4.0
- XStream 1.4
- Apache POI 3.5
- Apache Velocity 1.7
- Apache Derby 10.6
The following classes and methods have been deprecated in Spring Framework 4.0. These will be removed at a future date, so please check the javadoc and migrate to the suggested alternatives:
Quartz 1.x support in the org.springframework.scheduling.support package is deprecated and will be removed in Spring Framework 4.1, with that package only working with Quartz 2.0+ from then onwards.
All Jackson v1 support is deprecated in favor of Jackson v2, and will be removed in Spring Framework 4.1:
JacksonObjectMapperFactoryBeanMappingJacksonHttpMessageConverterMappingJacksonJsonView-
MappingJacksonMessageConverterfor JMS
Burlap is no longer under active development and support will be dropped entirely in the future:
BurlapClientInterceptorBurlapExporterBurlapProxyFactoryBeanBurlapServiceExporterSimpleBurlapServiceExporter
The following classes are deprecated since they no longer work with current JBoss releases:
JBossWorkManagerTaskExecutorJBossWorkManagerUtils
AbstractJaxWsServiceExporter.setWebServiceFeatures(Object[] webServiceFeatures)JaxWsPortClientInterceptor.setWebServiceFeatures(Object[] webServiceFeatures)
Several methods from the GenericTypeResolver have been deprecated. For new code the ResolvableType class provides a good alternative to GenericTypeResolver & GenericCollectionTypeResolver:
GenericTypeResolver.getTargetType(MethodParameter methodParam)GenericTypeResolver.resolveType(Type genericType, Map<TypeVariable, Type> map)GenericTypeResolver.getTypeVariableMap(Class<?> clazz)
The default KeyGenerator used by Spring's cache abstraction has changed from DefaultKeyGenerator to SimpleKeyGenerator. The new generator does not suffer from key collisions and less likely to cause a cached method to return incorrect results. You will need to configure the deprecated DefaultKeyGenerator if you prefer the previous key strategy, or create a custom KeyGenerator implementation yourself.
The Spring MVC namespace XSD had been updated to correct the casing used for a couple of attributes. When upgrading to spring-mvc-4.0.xsd, you should replace enableMatrixVariables and ignoreDefaultModelOnRedirect with enable-matrix-variables and ignore-default-model-on-redirect respectively.
An issue with compiling Spring MVC Test framework tests with JDK 1.6 has been identified and fixed for version 4.0.1.
The migration guide for upgrading to Spring 3.2 is available as Appendix D in the Spring 3.2 reference documentation.
The migration guide for upgrading to Spring 3.1 is available as Appendix C in the Spring 3.2 reference documentation.