Purpose of Spring MVC.
Spring is a collection of libraries and frameworks for solving different problems.
Spring Core is a Dependency Injection framework, that simply implements the dependency injection pattern. The Spring Core can be used in any project, be it in desktop, web, batch etc.
The other projects make use of spring core although some may also be used separetely. Spring MVC is a MVC style framework for developing web apps. Spring batch is used to develop batch apps. Spring Data is aimed at connecting to different data stores. Spring Integration contains implementation of Enterprise Integration Patterns. The list goes on...
Although it is easy to integrate spring and all other projects, it's not mandatory to do so. You can use Spring Core and Hibernate for doing persistence on RDBMs, use a JAX-RS framework for developing RESTful Web Services and maintain domain logic on Spring Beans. The whole Spring ecosystem is very flexible.
The Spring Web model-view-controller (MVC) framework is designed around a
Spring Core is a Dependency Injection framework, that simply implements the dependency injection pattern. The Spring Core can be used in any project, be it in desktop, web, batch etc.
The other projects make use of spring core although some may also be used separetely. Spring MVC is a MVC style framework for developing web apps. Spring batch is used to develop batch apps. Spring Data is aimed at connecting to different data stores. Spring Integration contains implementation of Enterprise Integration Patterns. The list goes on...
Although it is easy to integrate spring and all other projects, it's not mandatory to do so. You can use Spring Core and Hibernate for doing persistence on RDBMs, use a JAX-RS framework for developing RESTful Web Services and maintain domain logic on Spring Beans. The whole Spring ecosystem is very flexible.
The Spring Web model-view-controller (MVC) framework is designed around a
DispatcherServlet
that dispatches requests to handlers, with configurable handler mappings, view resolution, locale, time zone and theme resolution as well as support for uploading files. The default handler is based on the @Controller
and @RequestMapping
annotations, offering a wide range of flexible handling methods. With the introduction of Spring 3.0, the @Controller
mechanism also allows you to create RESTful Web sites and applications, through the @PathVariable
annotation and other features.