Spring MVC Tutorial Last Updated : 08 Aug, 2023 Improve Improve Like Article Like Save Share Report This Spring MVC tutorial covers all the basic to advanced topics of Spring MVC like Basics of Spring MVC, Spring MVC Annotation, Spring MVC Architecture, Spring MVC Flow, Spring Form Handling, Spring MVC with JSTL, Spring MVC with REST API, etc. What is Spring MVC? Spring MVC is a Java-based framework that is mostly used for developing web applications. It follows the MVC (Model-View-Controller) Design Pattern. This design pattern specifies that an application consists of a data model, presentation information, and control information. This framework is developed around a DispatcherServlet which dispatches requests to handlers. In the current industry, many of them are using Spring Boot Microservices, but there are many projects still running in Spring MVC. So it is worth learning Spring MVC in the recent era. That’s why we are going to cover all the things which are part of the Spring MVC framework one by one in an organized manner. Spring Model-View-Controller Model – A model contains the application’s data. A data set might be a single object or a group of things. Controller – A controller houses an application’s business logic. The @Controller annotation is used here to identify the class as the controller. View – A view is a representation of the delivered information in a certain format. In most cases, JSP+JSTL is utilized to construct a view page. Spring does, however, support additional view technologies such as Apache Velocity, Thymeleaf, and FreeMarker. Front Controller – The DispatcherServlet class serves as the front controller in Spring Web MVC. It is in charge of managing the flow of the Spring MVC application. Spring MVC Tutorial Index Spring MVC – Basics Software Setup and Configuration (STS/Eclipse/IntelliJ) Prerequisite (Spring Core Concepts) Core Spring MVC Spring MVC – Annotation Spring MVC – Form Handling Spring MVC with JSTL Spring MVC with REST API Spring MVC with Database Spring MVC – Basics Introduction to Spring MVC What is Dispatcher Servlet in Spring? Difference between Spring MVC and Spring Boot Spring MVC – Software Setup and Configuration (STS/Eclipse) How to Download and Install Spring Tool Suite (Spring Tools 4 for Eclipse) IDE? How to Download and Install Eclipse on Windows? How to Create a Dynamic Web Project in Eclipse/Spring Tool Suite? Prerequisite (Spring Core Concepts) In this section, we will learn some of the essential Spring Core Concepts as prerequisites. If you already know these concepts, then you can skip this section. Understanding Inversion of Control with Example Spring – BeanFactory Spring – ApplicationContext Spring – Difference Between BeanFactory and ApplicationContext Spring Dependency Injection with Example Spring – Difference Between Inversion of Control and Dependency Injection Spring – Injecting Objects By Constructor Injection Spring – Dependency Injection by Setter Method Spring – Injecting Objects by Setter Injection Spring – Injecting Literal Values By Setter Injection Spring – Injecting Literal Values By Constructor Injection Bean life cycle in Java Spring Custom Bean Scope in Spring How to Create a Spring Bean in 3 Different Ways? Spring – IoC Container Spring – Autowiring Singleton and Prototype Bean Scopes in Java Spring How to Configure Dispatcher Servlet in web.xml File? Core Spring MVC How to Create Your First Model in Spring MVC? How to Create Your First View in Spring MVC? Create and Run Your First Spring MVC Controller in Eclipse/Spring Tool Suite Spring MVC – Multi Action Controller with Example Spring MVC using Java-based configuration ViewResolver in Spring MVC Spring – Shortcut to Create Dispatcher Servlet in Eclipse/Spring Tool Suite WebApplicationContext in Spring MVC Data Transfer Object (DTO) in Spring MVC with Example Data Binding in Spring MVC with Example Spring MVC – Pagination with Example Difference Between ApplicationContext and WebApplicationContext in Spring MVC Spring MVC – Exception Handling Spring – How to Load Literal Values From Properties File Spring MVC – Multiple View Page Spring MVC – Custom Validation Spring MVC – Listbox Spring MVC – Multiple Resolver Mapping Spring MVC – File Upload Spring MVC – TextArea Spring MVC – Hidden Field Spring MVC – Regular Expression Validation Spring MVC – Password Spring MVC – Validation Spring MVC – Tiles Spring MVC – Text Box Spring MVC – Multiple Controller Spring MVC – Model Interface Spring MVC – Number Validation Spring MVC – Application Without web.xml File Query String and Query Parameter in Spring MVC Two-Way Data Binding in Spring MVC with Example How to Resolve WEB xml is missing and failOnMissingWebXml is set to true in Eclipse/STS? Spring MVC – Annotation Spring MVC @RequestParam Annotation Spring @RequestMapping Annotation with Example How to Capture Data using @RequestParam Annotation in Spring? Spring @ResponseBody Annotation with Example Spring MVC @ModelAttribute Annotation with Example Difference Between @Component, @Repository, @Service, and @Controller Annotations in Spring Difference Between @Controller and @Service Annotation in Spring Difference Between @Controller and @RestController Annotation in Spring Spring MVC – Form Handling Spring MVC – Form Handling Spring MVC – Form Checkbox Spring MVC – Form Radio Button Spring MVC – Form Drop-Down List Spring MVC – Form Tag Library Spring MVC – Form Text Field Spring MVC – Capture and Display the Data from the Registration Form Spring MVC – Create Registration Form using Form Tag Library Spring MVC with JSTL Spring MVC – Basic Example using JSTL Spring MVC JSTL Configuration Spring MVC – JSTL forEach Tag with Example Spring MVC – Iterating List on JSP using JSTL Spring MVC with REST API How to Make Post Request in Java Spring? How to Make get() Method Request in Java Spring? How to Make Delete Request in Spring? Spring MVC – Get University/College Details via REST API Spring MVC Project – Retrieving Population, Area, and Region Details using Rest API Spring MVC – Last 24-Hour Cryptocurrency Data using REST API Spring MVC – Comparison of Cryptocurrencies using REST API Spring MVC – Get Probability of a Gender by Providing a Name using REST API OpenSource REST API URL and Retrieving Data From it By Using Spring MVC How to Extract TV Show Details via REST API and Spring MVC? Get Time Zone by Providing Latitude and Longitude using Spring MVC and REST API Spring MVC – Getting Cryptocurrency Details using REST API Spring MVC – Get Exchange Rate Values using REST API Spring MVC with Database Spring MVC CRUD with Example How to Create a Project Using Spring MVC and Hibernate 5? Spring MVC – Sample Project For Finding Doctors Online with MySQL Spring MVC Integration with MySQL Spring MVC with MySQL – Sample Project For Calculating Electricity Bill Spring MVC with MySQL and Junit – Finding Employees Based on Location Advantages of Spring MVC Framework Separate roles Lightweight Powerful Configuration Rapid development Reusable business code Easy to test Flexible Mapping FAQs on Spring MVC Q1. What is the Difference Between Spring MVC and Spring Boot? Answer: Spring MVC is a Model-View-Controller-based web framework widely used to develop web applications whereas Spring Boot is an enhancement of the Spring framework, with some extended advantages, widely used to develop REST APIs. Q2. It is worth learning Spring MVC in 2023? Answer: Yes, there are many projects still running in Spring MVC. So it is worth learning Spring MVC in 2023. Q3. What is better to use, Spring Boot or Spring MVC? Answer: Spring MVC helps to develop applications easily. Spring Boot helps to develop applications easily and quickly with features like auto-configuration and starters. Spring Boot helps in reducing the development time as all the dependency-related task gets handled. Like Article Suggest improvement Next Spring - MVC Framework Share your thoughts in the comments Add Your Comment Please Login to comment...