What is the difference between Spring MVC and Spring boot?

Spring MVC is a framework that is used to build web applications. It follows the Model View Controller pattern. DispatcherServlet is the servlet that controls the flow of a request from view to controller. Since Spring 3.1, the Servlet 3 API is supported and we no longer need web.xml for configuring DispatcherServlet – instead, it is configured programmatically. We implement a class with the WebApplicationInitializer interface and add the onStartup() method to add DispatcherServlet to ServletContext. The @Controller annotation on class name declares this class as a Spring bean, and the @RequestMapping annotation declares that this class is the default handler for all requests of type ‘/’.

Spring Boot requires no configuration; it is used to create production-ready applications with zero XML configuration in your project. We don’t need a deployment descriptor, web server, etc. It wraps all dependencies under spring-boot-started-web, comes with an embedded server, and can be packaged as a jar. @SpringBootApplication is the @Configuration, @EnableAutoConfiguration, and @ComponentScan annotations combined and configured with their default attributes.

Spring boot, which is built on Spring, is easy to learn and comes with built-in features that reduce the learning curve. It is well-suited for container based development and deployment of microservices.

Free Resources