🎓 Top 15 Udemy Courses (80-90% Discount): My Udemy Courses - Ramesh Fadatare — All my Udemy courses are real-time and project oriented courses.
▶️ Subscribe to My YouTube Channel (178K+ subscribers): Java Guides on YouTube
▶️ For AI, ChatGPT, Web, Tech, and Generative AI, subscribe to another channel: Ramesh Fadatare on YouTube
spring-boot:run goal provided by the Spring Boot Maven plugin. This guide will show you how to set up and run a Spring Boot application using Maven commands.Prerequisites
- JDK 17 or later
- Maven installed on your machine
- Spring Boot (version 3.2+ recommended)
- An IDE (IntelliJ IDEA, Eclipse, VS Code, etc.)
Step 1: Set Up a Spring Boot Project Using Spring Initializr
Use Spring Initializr to generate a new Spring Boot project with the following configuration:
- Project: Maven Project
- Language: Java
- Spring Boot: 3.2.x
- Dependencies: Spring Web
Download the generated project, unzip it, and open it in your IDE.
Example Project Structure
The basic structure of a Spring Boot project with Maven looks like this:
my-spring-boot-app/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── com/example/demo/
│ │ │ └── DemoApplication.java
│ │ └── resources/
│ │ ├── application.properties
│ └── test/
│ └── java/
│ └── com/example/demo/
│ └── DemoApplicationTests.java
├── mvnw
├── mvnw.cmd
├── pom.xml
└── .mvn/
└── wrapper/
└── maven-wrapper.properties
Step 2: Configure pom.xml
The pom.xml file is the heart of a Maven project. It defines the project's dependencies, build configuration, and more. Open the pom.xml file and ensure it has the following configuration:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.0</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<java.version>17</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
Step 3: Create the Application Class
Create a Java class named DemoApplication in the src/main/java/com/example/demo directory.
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
Explanation:
@SpringBootApplication: Marks this class as the main entry point for the Spring Boot application.mainmethod: Starts the Spring Boot application.
Step 4: Create a Simple REST Controller
To verify the application works as expected, let's create a simple REST controller.
Create a Java class named HelloController in the src/main/java/com/example/demo directory:
package com.example.demo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("/hello")
public String sayHello() {
return "Hello, World!";
}
}
Explanation:
@RestController: Marks this class as a REST controller.@GetMapping("/hello"): Maps HTTP GET requests to the/helloendpoint to thesayHellomethod.sayHellomethod: Returns a "Hello, World!" message.
Step 5: Run the Application
Using the Maven Wrapper
The Maven Wrapper is a script that allows you to run Maven commands without having Maven installed on your system. It's included in your project when you generate a Spring Boot project from Spring Initializr.
Steps to Run the Application
-
Open a terminal: Navigate to the root directory of your Spring Boot project.
-
Run the Application: Use the
spring-boot:rungoal to start the application.
For Unix/Linux/macOS:
./mvnw spring-boot:run
For Windows:
mvnw.cmd spring-boot:run
Using Maven Installed on Your Machine
If you have Maven installed on your machine, you can use the mvn command directly:
-
Open a terminal: Navigate to the root directory of your Spring Boot project.
-
Run the Application: Use the
spring-boot:rungoal to start the application.
For Unix/Linux/macOS/Windows:
mvn spring-boot:run
Step 6: Verify the Application
Open a web browser or a tool like Postman and navigate to the following URL to verify the application:
- Hello Endpoint:
- URL:
http://localhost:8080/hello - Method:
GET - Response:
Hello, World!
- URL:
You should see the "Hello, World!" message returned by the HelloController.
Step 7: Creating a Test Class
Create a Java class named DemoApplicationTests in the src/test/java/com/example/demo directory.
package com.example.demo;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class DemoApplicationTests {
@Test
void contextLoads() {
}
}
Explanation:
@SpringBootTest: Indicates that this is a Spring Boot test.contextLoadsmethod: Tests if the Spring application context loads successfully.
Running Tests
- Run Tests: Use the
mvn testcommand to run the tests.
For Unix/Linux/macOS/Windows:
mvn test
- View Test Results: The test results will be displayed in the terminal, indicating whether the tests passed successfully.
Conclusion
In this tutorial, you have learned how to set up and run a Spring Boot application using Maven commands. We covered:
- Setting up a Spring Boot project using Spring Initializr with Maven.
- Configuring the
pom.xmlfile. - Creating the main application class.
- Creating a simple REST controller to verify the application works as expected.
- Running the application using Maven commands.
- Creating and running tests.
By following these steps, you can easily set up and manage Spring Boot projects using Maven, leveraging its powerful build and dependency management capabilities.
My Top and Bestseller Udemy Courses. The sale is going on with a 70 - 80% discount. The discount coupon has been added to each course below:
Build REST APIs with Spring Boot 4, Spring Security 7, and JWT
[NEW] Learn Apache Maven with IntelliJ IDEA and Java 25
ChatGPT + Generative AI + Prompt Engineering for Beginners
Spring 7 and Spring Boot 4 for Beginners (Includes 8 Projects)
Available in Udemy for Business
Building Real-Time REST APIs with Spring Boot - Blog App
Available in Udemy for Business
Building Microservices with Spring Boot and Spring Cloud
Available in Udemy for Business
Java Full-Stack Developer Course with Spring Boot and React JS
Available in Udemy for Business
Build 5 Spring Boot Projects with Java: Line-by-Line Coding
Testing Spring Boot Application with JUnit and Mockito
Available in Udemy for Business
Spring Boot Thymeleaf Real-Time Web Application - Blog App
Available in Udemy for Business
Master Spring Data JPA with Hibernate
Available in Udemy for Business
Spring Boot + Apache Kafka Course - The Practical Guide
Available in Udemy for Business
Comments
Post a Comment
Leave Comment