is a framework that is used to build web applications. It follows the . 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. Spring MVC Model View Controller pattern DispatcherServlet We implement a class with the interface and add the onStartup() method to add DispatcherServlet to ServletContext. WebApplicationInitializer The annotation on class name declares this class as a Spring bean, and the annotation declares that this class is the default handler for all requests of type ‘/’. @Controller @RequestMapping 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. Spring Boot It wraps all dependencies under , comes with an embedded server, and can be packaged as a jar. spring-boot-started-web is the , , and annotations combined and configured with their default attributes. @SpringBootApplication @Configuration @EnableAutoConfiguration @ComponentScan , 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 . Spring boot microservices