: Prerequisites Java Programming basics (STS) IDE. Spring Tool Suite Java 1.8 Maven 3.0+ Spring Framework 5.0.0.BUILD-SNAPSHOT An IDE (Spring Tool Suite) is recommended. Creating the Project Go to the following website https://start.spring.io/ In the Project section, you can either select Gradle or Maven (comparison in details coming soon). Select Java as the language. Now, select the Springboot version. Above, the selected version of Springboot is 3.1.4 Now, in the project Metadata section: You can enter the name of the project and the description Select the Java version. From the dependency section, search for the dependencies you want to add to the project. The Most Popular Dependencies: Provides the core Spring Boot functionality, including a web server, auto-configuration, and dependency management. Spring Boot Starter Web implementation 'org.springframework.boot:spring-boot-starter-web' Spring Boot Starter Actuator Provides a set of endpoints that expose information about your Spring Boot application, such as health checks, metrics, and thread dumps. `implementation 'org.springframework.boot:spring-boot-starter-actuator'` Spring Boot Starter Data JPA Provides support for connecting to and interacting with relational databases using JPA. `implementation 'org.springframework.boot:spring-boot-starter-data-jpa'` Provides support for adding security features to your Spring Boot application, such as authentication, authorization, and CSRF protection. Spring Boot Starter Security implementation 'org.springframework.boot:spring-boot-starter-security' Provides support for testing your Spring Boot application using JUnit. Spring Boot Starter Test implementation 'org.springframework.boot:spring-boot-starter-test' Provides a number of annotations that can make your Java code more concise and readable. Lombok implementation 'org.projectlombok:lombok' Provides a mocking framework that can be used to mock objects in your Spring Boot application for testing purposes. Mockito implementation 'org.mockito:mockito-core' Provides a set of assertions that can be used to test the state of your Spring Boot application. AssertJ implementation 'org.assertj:assertj-core' Provides a set of extensions to JUnit 5 that make it easier to write unit tests. JUnit Jupiter implementation 'org.junit.jupiter:junit-jupiter-api' Provides a number of features that can be helpful during development, such as live code reloading and automatic restart of the application when changes are made to the code. Spring Boot DevTools implementation 'org.springframework.boot:spring-boot-devtools' After adding the dependencies, download the project, and open it in the IDE. Build the project and Run it.