Spring is an open source Java platform. Spring MVC have been around lot longer and lots of project has been built on this framework. Spring is a framework that helps you organize your app and allows you to focus more on the logic.
Spring has several components like Spring MVC, Spring ORM, Spring Rest API. Spring deals with developing flow of the application. Spring MVC-Spring gives you power to develop MVC web app with less amount couple of minutes you can develop your restful web service. Spring is a open source framework for building java enterprise applications, spring has a core container, aop, jdbc and various other features for building an entire application. Spring is build up on top of the j2ee technologies, it has different modules to perform different aspects of web application. Spring supports end to end development of application, that means Starting from business logic , persistence logic to presentation logic we can develop using Spring . That means by using Spring we can develop whole application. Spring has different modules like Spring core, Spring jdbc, Spring AOP, Spring Tx, Spring Security, Spring MVC. Due to modularly organized nature, Spring makes it easy for the developers to know which packages or classes are to be used. Spring framework provides inversion control and APIs to translate technology-driven exceptions. It enables developers to build enterprise-level applications with the help of the POJOs. It provides very simple and rich facilities to integrate various frameworks, technologies, and services in the applications. One of the main reason for using the Spring framework is to keep code as simple as possible. It push the way to develop enterprise applications with loosely coupled simple java beans. For this reason, the spring framework can also be called a Plain Old Java Object (POJO) framework. When it comes to size and transparency, Spring is the best lightweight framework you will ever find.