Why Spring appeared

As you probably know, Spring was created with the intention of simplifying all of the complexity of the J2EE world. It was created as a dependency injection framework and as an alternative to the EJB stack with distributed objects, which was unnecessary in most applications. The traditional approach to J2EE introduced a lot of complexity when it was used to bootstrap an application, and this involved even more complexity when used to accomplish the business requirements it had to solve. Consequently, we were left with applications that were difficult to test and were too costly to develop and maintain.

Spring and J2EE were created when Java didn't have annotations, so big XML files were necessary for wire classes. Fortunately, annotations became available in version 1.5 of the Java Development Kit (JDK), and that helped to reduce the need for such descriptor files.

Spring evolves faster than JEE, since it doesn't have to satisfy the formality of talking with a large committee, as required for JEE. When a new feature has to be incorporated as part of the JEE specification, a JSR document has to be created and approved by the JCP. The main motivation for this is that it guarantees backward and forward compatibility among the different versions of the specification. On the other hand, Spring is a project that is always evolving, considering the constantly changing nature of the software industry

When a new feature is required, it is either embraced as a part of an existing project, or a new project is created and supported by the Spring project umbrella. There is no reason to be worried about compatibility, since Spring is designed to run on any servlet container, such as Apache Tomcat, Jetty, and so on. This is contrary to JEE applications, which only run on servers that implement the Java EE specifications and provide the standard Java EE services.

..................Content has been hidden....................

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