Updated March 30, 2023
Introduction to Spring Boot MVC
Spring Boot MVC is a module of the spring framework which was dealing with the MVC pattern or model view controller, it will combine all the advantages from the MVC pattern which was spring boot convenience. Spring boot will implement the MVC with a pattern of the front controller by using the servlet dispatcher. In nutshell, the servlet dispatcher will act as the main controller which was routing the request from their intended destination. Spring boot model is nothing but the application data and view which was represented by various engines of templates. We can use spring boot MVC in multiple template engines.
What is Spring Boot MVC?
It is widely used to create scalable web applications. To develop a web application framework is providing the module which was used to create the web application. The model object passes between the controller and view which was using the maps.
This framework will consist following components as follows:
- Model
- View
- Controller
- Front Controller
1. Model
- The model is nothing but the object or collection of objects which contained the application data.
- Model is a very important component while developing applications.
2. View
- The view component is used to display the user information.
- This user information using view components will be displayed in a specific format. As we know that spring boot will support multiple technologies like velocity, thymeleaf and free maker.
- We can display the specific user information by using this component.
3. Controller
- This component will contain the logical part of our application.
- We are using @controller annotation to mark our project class as controller.
4. Front Controller
- This component is responsible to manage the flow of our application. In servlet dispatcher will act as the front controller.
At the time of using spring boot MVC in our project, we need to configure the same manually. We also require the deployment descriptor.
Spring Boot MVC Method
- It is providing a very elegant solution to use the MVC in the spring boot framework.
- We are using DispatcherServlet method in the spring boot application. The DispatcherServlet is a class that was used to receive the incoming request from an application, after receiving the incoming requests we have mapped the same with correct resources like view, model, or controllers.
- We are using the @Controller annotation to make our class a controller.
- Basically, there are two types of methods we have used at the time of developing the application i.e. get and post.
- The controller takes the request from DispatcherServlet, after taking the request it will call the appropriate method like GET or POST.
- The service method will make the data model based on the return view name and the business logic.
- The DispatcherServlet will take help from the ViewResolver to get the defined view or the request.
- Once we have finalized the view in the project DispatcherServlet will pass the model data to the view.
- HandlerMapping, ViewResolver, and the controller are part of our web application context file. This file is an extension of the plain application context.
Getting the Required
To develop an application we need to use the following technologies in our application.
- Spring boot 2.5.4
- Spring webmvc 4.3.9
- Embedded tomcat 8.5
- Java 8
- Maven 3.3.9
- Spring tool suite or eclipse
To develop the application first we need to add the dependency in pom.xml file. After adding the dependency we need to do application configuration in our main class file. After application configuration, we need to configure the application properties for our project. After adding the application properties we need to add the security of our application.
After adding security to our application next step is to define the data model for our application. After defining the data model next step is to set the simple controller of our application. After defining the controller our application is ready to use, we can check and test our application.
Examples
Below example shows to setup spring boot PostgreSQL application as follows:
1. Create a project template using spring initializer and give the following name to the project metadata.
Group – com.example
Artifact name – spring-boot-mvc
Name – spring-boot- mvc
Description – Project of spring-boot- mvc
Package name – com.example.spring-boot- mvc
Packaging – Jar
Java – 11
Dependencies – spring web.
2. After generating the project extract files and open this project by using the spring tool suite.
3. After opening the project using the spring tool suite check the project and its files.
4. Add required dependency in pom.xml file.
Code:
<dependency> -- Start of dependency tag.
<groupId>org.springframework</groupId> -- Start and end of groupId tag.
<artifactId>spring-webmvc</artifactId> -- Start and end of artifactId tag.
</dependency> -- End of dependency tag.
Output:
5. Create controller class.
Code:
@Controller
public class springmvc {
@RequestMapping("/")
public String display()
{
return "index";
} }
Output:
6. Provide the entry of the controller.
Code:
<servlet> -- Start of servlet tag.
<servlet-name>spring-boot-mvc</servlet-name> -- Start and end of servlet name tag.
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> --start and end of servlet class.
<load-on-startup>1</load-on-startup>
</servlet> -- End of servlet tag.
<servlet-mapping> -- Start of servlet mapping tag.
<servlet-name>spring-boot-mvc</servlet-name> -- Start and end of servlet name tag.
</servlet-mapping>
Output:
7. Define bean in xml file.
Code:
<context:component-scan base-package="com.myexample" />
<mvc:annotation-driven/>
Output:
8. Display the message.
Code:
<body> -- Start of body tag.
<p>Welcome to Spring MVC Tutorial</p> -- Start and end of p tag.
</body> -- End of body tag.
Output:
9 Run the application.
10. Check output on web browser.
http://localhost:8080/SpringMVC/
Conclusion
It enables the developer to develop a complex and widely used application that uses simple java classes. The framework will enable the separation modules such as controller, model view, and integration which was seamlessly handled by the application.
Recommended Articles
This is a guide to Spring Boot MVC. Here we discuss the introduction, what is spring boot MVC? method and example respectively. You may also have a look at the following articles to learn more –