Transfer from official website document http://docs.spring.io/spring/docs/3.2.17.RELEASE/spring-framework-reference/htmlsingle/
Spring 30-new Features Spring 31-new Features spring 32-new Features spring 40-new Features Spring 41-new featur ES spring 42-new Features spring 43-new Features core container improved data access improved caching improved JMS improved WEB improvement WebSocket message improved test improvements support for new class libraries and servers
Spring 3.0-new Features
2.1. Java 5
2.2. Improved documentation
2.3. New Articles and Tutorials
2.4. New module organization and build system
2.5. Overview of new features
2.5.1. Core APIs updated for Java 5
2.5.2. Spring Expression Language
2.5.3. The inversion of Control (IoC) container
Java based bean metadata
defining bean metadata within components
2.5.4. General purpose type conversion system and field formatting system
2.5.5. The Data Tier
2.5.6. The Web Tier
Comprehensive REST support
@MVC additions
2.5.7. Declarative model validation
2.5.8. Early support for Java EE 6
2.5.9. Support for embedded databases Spring 3.1-new Features
3.1. Cache abstraction
3.2. Bean Definition Profiles
3.3. Environment Abstraction
3.4. Propertysource Abstraction
3.5. Code equivalents for Spring ' s XML namespaces
- code-based equivalents : <context:component-scan/ <tx:annotation-driven/> and <mvc:annotation-driven>
3.6. Support for Hibernate 4.x
3.7. TestContext Framework support for @Configuration classes and bean definition profiles
3.8. C:namespace for more concise constructor injection
3.9. Support for injection against non-standard JavaBeans setters
3.10. Support for servlet 3 code-based configuration of servlet Container
3.11. Support for Servlet 3 multipartresolver
3.12. JPA entitymanagerfactory bootstrapping without Persistence.xml
3.13. New handlermethod-based Support Classes for annotated Controller processing
3.14. "Consumes" and "produces" conditions in @RequestMapping
3.15. Flash Attributes and Redirectattributes
3.16. URI Template Variable Enhancements
3.17. @Valid @RequestBody Controller Method Arguments
Verify the HTTP request received, if not by returning 400
3.18. @RequestPart Annotation on Controller method Arguments
Allow the contents of each part of the uploaded file to be obtained
3.19. Uricomponentsbuilder and uricomponents Spring 3.2-new Features
4.1. Support for Servlet 3 based Asynchronous request processing
4.2. Spring MVC Test Framework
-First-class support for testing Spring MVC applications with a fluent API and without a Servlet container. Server-side tests involve use the "dispatcherservlet while client-side REST tests" rely on the resttemplate. 11.3.6, the Spring MVC Test Framework.
4.3. Content negotiation Improvements
4.4. @ControllerAdvice annotation
4.5. Matrix variables
4.6. The Abstract base class for code-based Servlet 3+ container initialization
4.7. Responseentityexceptionhandler class
4.8. Support for generic types in the resttemplate and in @RequestBody arguments
4.9. Jackson JSON 2 and related improvements
4.10. Tiles 3
4.11. @RequestBody improvements
4.12. HTTP PATCH method
4.13. Excluded patterns in mapped interceptors
4.14. The Using meta-annotations for injection points and for bean definition methods
4.15. Initial support for Jcache 0.5
4.16. Support for @DateTimeFormat without Joda time
4.17. Global Date & Time Formatting
4.18. New testing Features
4.19. Concurrency refinements across the framework
4.20. New gradle-based Build and move to GitHub
-Gradle+github = GG. Spring
4.21. Refined Java SE 7/OPENJDK 7 support
2016-5-30 official website 3.2.17, intranet latest 3.2.13, my project version 3.2.4 Spring 4.0-new Features
3.1. Improved Getting Started experience
3.2. Removed deprecated Packages and Methods
3.3. Java 8 (as OK as 6 and 7)
3.4. Java EE 6 and 7
3.5. Groovy Bean Definition DSL
3.6. Core Container Improvements
3.7. General Web Improvements
3.8 WebSocket, SOCKJS, and STOMP messaging
3.9. Testing improvements Spring 4.1-new Features
4.1. JMS Improvements
-An important specification JMS (Java message Service) in EE, because the application of this specification in enterprise is very extensive, also more important, JMS Introduction reference this Blog
4.2. Caching Improvements
4.3. Web improvements
4.4. WebSocket Messaging Improvements
4.5. Testing improvements Spring 4.2-new Features
5.1. Core Container Improvements
5.2. Data Access Improvements
5.3. JMS Improvements
5.4. Web Improvements
5.5. WebSocket Messaging Improvements
5.6. Testing improvements Spring 4.3-new Features
Http://my.oschina.net/waylau/blog/698186?utm_source=tuicool&utm_medium=referral Core Container Improvement
The core container provides additional rich metadata to improve programming.
The default Java 8 method detects the Getter/setter method of the Bean property.
If the target bean defines only one constructor, it does not need to specify a @autowired annotation
@Configuration class supports constructor injection.
Any spel expression is used to specify @eventlistener condition references to beans (for example, @beanname.method ()).
Composition annotations can now be overridden with an element of an array component type that contains an array property in a meta note. For example, a @RequestMapping string[] path can be overwritten with String path in the composition annotation.
@Scheduled and @schedules are now used as meta annotations to create custom composition annotations through attribute overrides.
@Scheduled properly supports any range of beans. Data Access Improvements
Jdbc:initialize-database and Jdbc:embedded-database support configurable separators are applied to each script. Cache Improvements
Spring 4.3 allows implementations to be synchronized at a given key concurrent invocation, so that the corresponding values are evaluated only once. This is an optional feature that is enabled by setting the new Sync property for @cacheable. This feature introduces a significant change in the cache interface, where the get (Object key, callable Valueloader) method has been added.
Spring 4.3 also improves the caching abstraction as follows:
Spel expressions for caching-related annotations, you can now reference the bean (that is, @beanname.method ()).
Concurrentmapcachemanager and Concurrentmapcache now support the serialization of cached entities through a new Storebyvalue property. @Cacheable, @CacheEvict, @CachePut and @caching are now used as meta annotations to create custom composition annotations through attribute overrides. JMS Improvements
@SendTo can now specify a common reply target at the class level.
@JmsListener and @JmsListeners are now used as meta annotations to create custom composition annotations through attribute overrides. Web Improvements
Built-in support for HTTP head and HTTP OPTIONS.
The new combination annotation @GetMapping, @PostMapping, @PutMapping, @DeleteMapping, and @PatchMapping for @RequestMapping.
See @RequestMapping combination variants
New @requestscope, @SessionScope, and @ApplicationScope combination annotations for web-wide
Request scope, session scope, and application scope
The new @RestControllerAdvice annotation is a semantic combination of @ControllerAdvice and @ResponseBody
@ResponseStatus is now supported at the class level and inherited by all methods
The new @SessionAttribute annotation is used to access the session property (see example)
New @RequestAttribute annotations are used to access request attributes (see example)
@ModelAttribute allows data binding to be avoided through binding=false (see references)
Errors and custom throws, which will be consolidated into the MVC exception handler
HTTP message conversion encoding consistent processing, including default UTF-8 for multi-part text content
Static resource handling uses configured Contentnegotiationmanager for media type calculations
Resttemplate and Asyncresttemplate support the implementation of strict URI variable encoding via Defaulturitemplatehandler
Asyncresttemplate Support Request blocking WebSocket message improvement
@SendTo and @sendtouser can now be assigned to share a common destination at the class level. Test Improvements
To support the Spring TestContext Framework, you now need JUnit 4.12 or higher versions
The new Springrunner is associated with Springjunit4classrunner
Test-related annotations, which can now be declared on the interface. For example, using a test interface on a Java 8-based interface
The @ContextConfiguration of the null declaration will now be completely ignored if the default XML file is detected, Groovy script, or @Configuration type
@Transactional test method no longer requires public (e.g., in TestNG and JUnit 5)
@BeforeTransaction and @AfterTransaction no longer need public and are declared on the default method of the Java 8-based interface
The ApplicationContext cache for the spring TestContext Framework now has bounds of 32 default maximum size and least recently used eviction policy. The maximum size can be set by a JVM system property or Spring configuration called Spring.test.context.cache.maxSize.
The Contextcustomizer API is used to customize the test applicationcontext after the bean definition is loaded into the context but before the context is refreshed. Custom tools can be registered on a global scale by third parties without having to implement a custom contextloader.
@Sql and @SqlGroup now create custom combined annotations as meta annotations by overriding attributes
Reflectiontestutils now automatically unlocks the agent when a field is set or get.
The server-side Spring MVC Test supports response headers with multiple values.
The server-side Spring MVC test resolves the request content and the fill request parameters of the form data.
The server-side Spring MVC test supports mock assertions to invoke the handler method.
The client rest test supports how many expected requests are allowed to be specified and whether the desired declaration order should be ignored (see 15.6.3, "Client REST test").
The client REST test supports the expectation of requesting the principal form data.support for new class libraries and servers
Hibernate ORM 5.2 (also very good support for 4.2/4.3 and 5.0/5.1, not recommended 3.6)
Jackson 2.8 (in spring 4.3, lowest to Jackson 2.6+)
Okhttp 3.x (still parallel support okhttp 2.x)
Netty 4.1
Undertow 1.4
Tomcat 8.5.2 and 9.0 M6