Evolution of the Spring Framework

The Spring Framework is an open source framework that has multiple versions released with the latest one being 4.x. The different versions of the Spring Framework are as follows:

  • Spring Framework 1.0: This version was released on March 2004, and the first release was Spring Framework 1.0 RC4. The final and stable release was Spring Framework 1.0.5. Spring 1.0 was a complete Java/J2EE application framework, which covered the following functionalities:
    • Spring Core: This is a lightweight container with various setter and constructor injection
    • Spring AOP: This is an Aspect-oriented Programming (AOP) interception framework integrated with the core container
    • Spring Context: This is an application context concept to provide resource loading
    • Spring DAO: This is a generic DAO support that provides access to a generic data exception hierarchy with any data access strategy
    • Spring JDBC: This is a JDBC abstraction shorten error and resource handling
    • Spring ORM: This is a hibernate support SessionFactory management
    • Spring Web: This web MVC Framework integrates various view technologies
  • Spring Framework 2.X: The Spring Framework 2.0 was released in October 2006 and Spring 2.5 was released in November 2007. The Spring Framework 2.x release was based around two themes: simplicity and power. This provides you with the following features:
    • Improvements in the IoC container and AOP, including the @AspectJ annotation support for AOP development
    • Introduction of bean configuration dialects
    • XML-based configuration is reduced and XML schema support and custom namespace is introduced
    • Annotation-driven configuration that requires component scanning to auto-detect annotated components in the classpath using annotations such as @Component or specialized annotations such as @Repository, @Service, and @Controller
    • Introduces annotations such as @RequestMapping, @RequestParam, and @ModelAttribute for MVC controllers
  • Spring Framework 3.0: This version was released in December 2009. It makes the entire Spring code base to take advantage of the Java 5.0 technology. This provides you with the following features:
    • Supports REST in Spring MVC, which is one of the beautiful additions to the Spring Framework itself.
    • Introduces new annotations @CookieValue and @RequestHeader for pulling values from cookies and request headers, respectively. It also supports new XML namespace that makes easier to configure Spring MVC.
    • Task scheduling and asynchronous method execution with annotation support is introduced to this version.
    • Spring Framework 3.0.5 is the latest update release, which was released on October 20, 2010. The Hibernate version 3.6 final is supported by this Spring release.
  • Spring Framework 3.1: This version was released in December 2011. This release introduced many new exciting features that are related to cache abstraction, bean definition profiles, environment abstraction, PropertySource abstraction, and a lot more. This provides you with the following features:
    • Introduces Cache Abstraction to add caching concept to any existing application using @Cacheable annotation.
    • Introduces annotation called @Profile, which is used while applying configuration classes.
    • Introduces PropertySource that is an abstraction performed over any different source of the key-value pairs. In DefaultEnvironment, there are two configured PropertySource objects: System.getProperties() and System.getenv().
    • Hibernate 4.x is supported by this release through Java Persistence API (JPA). With this release, the JPA EntityManagerFactory can be bootstrapped without persistence.xml or other metadata files.
    • Introduces @RequestPart annotation to provide access to multipart form-data content on the controller method arguments.
    • Introduces the c:namespace to support constructor injection.
  • Spring Framework 3.2.x: This version was released in November 2013. This release introduced the following new features and enhancements to earlier features:
    • Servlet 3-based asynchronous request processing is supported in this release.
    • Supports Java 7 features.
    • Testing of Spring MVC applications without a Servlet container is supported in this release. Here, DispatcherServlet is used for server-side REST tests and RestTemplate for client-side REST tests.
    • ContentNegotiationStrategy is introduced to resolve the requested media types from an incoming request. It also supports Jackson JSON 2 library.
    • Method annotated with @ExceptionHandler, @InitBinder, and @ModelAttribute can be added to a class annotated with the @ControllerAdvice annotation.
    • The @MatrixVariable annotation for extracting matrix variables from the request URI is introduced.
    • The @DateTimeFormat annotation to remove dependency on the Joda-Time library is introduced.
  • Spring Framework 4.x: This version supports a few new features. Improvements in Spring 4.X include support for Java SE 8, Groovy 2, and a few aspects of Java EE7. This provides you with the following features:
    • Supports external bean configuration using a Groovy DSL
    • Auto-wiring is based on generic types
    • Introduces the @Description annotation
    • Introduces @Conditional that can conditionally filter the beans.
    • Introduces the @Jms annotation to support annotation-driven endpoint
    • Catching support is revisited, provided CacheResolver to resolve caches at runtime
    • Added new testing features such as SQL Script execution, bootstrap strategy, and so on
    • Added lightweight messaging and WebSocket-style architectures
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.116.14.118