Spring is a popular framework that simplifies enterprise Java applications development by providing features like IoC, DI, AOP, SpEL and many more helper classes to get the job done without writing boilerplate code. It also provides infrastructural at application level and let developers focus on application-level businees logic.Spring is modular by design hence it is lightweight framework, means Spring doesn’t force you to take full framework if you need only one or very few. All the modules are loosely coupled so can be used standalone or along with any other module. All features are like plug and play because of each module is loosely coupled with other.
Spring framework has started as lightweight alternative to J2EE, specially for EJB in 2004 by Rod Johnson. It was being said that EJB v1 and v2 were extremely complex because for multiple deployment descriptors, interfaces, classes and poor performance. There was need of an alternative to EJB.
Rod had published a book J2EE Development without EJB, Wrox Press to suggest alternative options for EJB. That was the birth of a framework which had solves some complex enterprise application development. It has started getting popularity across the Java Software community. Sooner founder of Spring Framework, Rod Johnson has publised anothe book i.e. Java Development with the Spring Framework, Wrox Press.
Because of modularity and simplicity it has become very popular and rapidly adapted by many companies as the Java framework to develop enterprise applications. The release history of Spring framework is given below:
|Spring 1.0||March, 2004|
|Spring 2.0||October, 2006|
|Spring 2.5||November, 2007|
|Spring 3.0||December, 2009|
|Spring 4.0||December, 2013|
|Spring 5.0||September 28, 2017 (latest)|
Spring framework is developed and maintaind by Company named Pivotal. The official website of spring framework is https://spring.io. Spring has grown up drastically. Now it has many project within it from configuration to security, web apps to big data. All projects are independent which gives flexibilty to choose and pick whatever fits to your requirement, plus these projects can easily be integrated together. Few of them are listed below:
Core support for dependency injection, transaction management, web applications, data access, messaging, testing and more.Learn More ↑
Takes an opinionated view of building production-ready Spring applications.Learn More ↑
Spring Data’s mission is to provide a familiar and consistent, Spring-based programming model for data access while still retaining the special traits of the underlying data store.Learn More ↑
Spring Security is a powerful and highly customizable authentication and access-control framework. It is the de-facto standard for securing Spring-based applications.Learn More ↑
A lightweight, comprehensive batch framework designed to enable the development of robust batch applications vital for the daily operations of enterprise systems.Learn More ↑
Note: The above mentioned are not complete list of the projects. Spring is rapidly growing, many new projects emerges frequently in order to address problem related to enterprise application as well as exsting projects getting updated frequently. For latest information on the project, always visit to the official website of Spring Framework.