I did a simple Student Management System web application using Spring Boot, Spring MVC, Thymeleaf, Spring Data JPA and MySQL.
Tools and technologies used:
- Java 11
- Spring Boot
- Spring MVC
- Spring Data JPA (Hibernate)
- Thymeleaf
- IntelliJ
The DispatcherServlet is acts as a front controller like it provides a single entry point for a client request to Spring MVC web application and forwards request to Spring MVC controllers for processing.
The DispatcherServlet is an actual Servlet (in inherits from the HttpServlet Base class).
A handler method is a method in Java class that handles incoming HTTP requests.
Controller class is the java class that contains these handler methods is called a controller class.
JPA is a Java specification that gives some functionality and standard to ORM tools. It is used to examine, control, and persist data between Java objects and relational databases. It is observed as a standard technique for Object Relational Mapping. It is considered as a link between an object-oriented model and a relational database system. JPA is described in javax.persistence package.
Hibernate is a java framework, open-source, lightweight, and ORM (Object Relational Mapping) tool for the java language which simplifies the buildout of Java application to interact with the database. It is used to save the Java objects in the relational database system.
The main feature of Hibernate is to map the Java classes to database tables. Following are some key features of Hibernate:
- Hibernate is an implementation of JPA guidelines.
- It helps in mapping Java data types to SQL data types.
- It is the contributor of JPA.