<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Alex Li</title>
    <description>The latest articles on DEV Community by Alex Li (@alex_li).</description>
    <link>https://dev.to/alex_li</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3566168%2F4a502561-1143-47fe-9a20-4b73f52df2ca.jpg</url>
      <title>DEV Community: Alex Li</title>
      <link>https://dev.to/alex_li</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/alex_li"/>
    <language>en</language>
    <item>
      <title>Spring Boot 2.x Basic Tutorial: Quick Start</title>
      <dc:creator>Alex Li</dc:creator>
      <pubDate>Wed, 15 Oct 2025 09:36:01 +0000</pubDate>
      <link>https://dev.to/alex_li/spring-boot-2x-basic-tutorial-quick-start-2bkg</link>
      <guid>https://dev.to/alex_li/spring-boot-2x-basic-tutorial-quick-start-2bkg</guid>
      <description>&lt;h1&gt;
  
  
  Introduction
&lt;/h1&gt;

&lt;p&gt;When you first encountered and learned the Spring framework, were you discouraged by its complex configuration? After using Spring for the &lt;em&gt;n&lt;/em&gt;-th time, are you tired of repeatedly copying and pasting the same configuration files? If so, it’s time to try &lt;strong&gt;Spring Boot&lt;/strong&gt;—a powerful tool that makes getting started easier and building Spring applications faster and simpler.&lt;/p&gt;

&lt;p&gt;Spring Boot makes your Spring applications more lightweight. You no longer need to go through the tedious process of setting up projects, packaging applications, and deploying them to application servers like Tomcat. With Spring Boot, you can package your service into a single JAR file containing just one Java class, and run it directly with the &lt;code&gt;java -jar&lt;/code&gt; command. Compared to traditional Spring applications, this approach is significantly more convenient and streamlined.&lt;/p&gt;

&lt;p&gt;Here are the main advantages of Spring Boot:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Enables faster onboarding for all Spring developers
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Out-of-the-box&lt;/strong&gt;: Provides various default configurations to simplify project setup
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Embedded containers&lt;/strong&gt; simplify web project development
&lt;/li&gt;
&lt;li&gt;Eliminates the need for redundant code generation and XML configuration
&lt;/li&gt;
&lt;/ul&gt;




&lt;h1&gt;
  
  
  Getting Started Quickly
&lt;/h1&gt;

&lt;p&gt;In this tutorial, we will learn how to quickly create a Spring Boot application and implement a simple HTTP request handler. Through this example, you’ll gain a preliminary understanding of Spring Boot and experience its simple structure and rapid development capabilities.&lt;/p&gt;




&lt;h1&gt;
  
  
  Creating a Basic Project
&lt;/h1&gt;

&lt;p&gt;Spring provides a convenient tool called &lt;strong&gt;Spring Initializr&lt;/strong&gt; to help us create Spring Boot projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  Using the Spring Initializr Web Page
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; Visit &lt;a href="https://start.spring.io" rel="noopener noreferrer"&gt;https://start.spring.io&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9oztwiyqr1i62sxrdhfp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9oztwiyqr1i62sxrdhfp.png" alt=" " width="800" height="658"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As shown in the image, here are the key options:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Project&lt;/strong&gt;: The build tool to use—Maven or Gradle. This tutorial uses &lt;strong&gt;Maven&lt;/strong&gt;, which is more familiar to most Java developers and makes the content more accessible.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Language&lt;/strong&gt;: The programming language—Java, Kotlin, or Groovy. We’ll use &lt;strong&gt;Java&lt;/strong&gt; for consistency and broad compatibility.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spring Boot&lt;/strong&gt;: The Spring Boot version. We’ll use the latest version available at the time: &lt;strong&gt;2.1.3&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Project Metadata&lt;/strong&gt;: The project’s metadata—essentially the basic elements of a Maven project. Clicking "More options" reveals additional settings. Fill in the fields (like Group, Artifact, etc.) according to your organization’s needs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr6icj24gwlrz9p1knccl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr6icj24gwlrz9p1knccl.png" alt=" " width="727" height="520"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Dependencies&lt;/strong&gt;: The Spring Boot components to include. Since we’ll be implementing an HTTP interface, select the &lt;strong&gt;Web&lt;/strong&gt; module. Simply type "Web", and the page will auto-suggest matching components.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqvkk99uuvd2gctcucpt2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqvkk99uuvd2gctcucpt2.png" alt=" " width="651" height="397"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After clicking the "+" button, you should see something like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5ja9yg3pibx7ohjvq9cr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5ja9yg3pibx7ohjvq9cr.png" alt=" " width="800" height="154"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; Click the &lt;strong&gt;"Generate Project"&lt;/strong&gt; button. Your browser will download a compressed file named after the Artifact.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; Extract the project archive and import it into your IDE as a Maven project. For example, in &lt;strong&gt;IntelliJ IDEA&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Go to &lt;strong&gt;File → New → Project from Existing Sources...&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Select the extracted project folder and click &lt;strong&gt;OK&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Choose &lt;strong&gt;Import project from external model&lt;/strong&gt; and select &lt;strong&gt;Maven&lt;/strong&gt;, then click &lt;strong&gt;Next&lt;/strong&gt; until the import is complete.&lt;/li&gt;
&lt;li&gt;If you have multiple JDK versions, ensure you select &lt;strong&gt;Java 8&lt;/strong&gt; during setup (or the version you specified in Step 1).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Since we’ll be creating many sample projects, consider organizing them as modules within a single parent repository, similar to the example repository mentioned at the end of this article.&lt;/p&gt;




&lt;h2&gt;
  
  
  Creating the Project in IntelliJ IDEA
&lt;/h2&gt;

&lt;p&gt;If you're using &lt;strong&gt;IntelliJ IDEA&lt;/strong&gt; for Java development, you can create a Spring Boot project directly within the IDE.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; From the menu, select &lt;strong&gt;File → New → Project...&lt;/strong&gt;. You’ll see a window like the one below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1mn4iytajax4qwkwoiex.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1mn4iytajax4qwkwoiex.png" alt=" " width="800" height="572"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;Initial Service URL&lt;/strong&gt; points to the official Spring Initializr service, meaning this IDE feature is based on the same web tool.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; Click &lt;strong&gt;Next&lt;/strong&gt;. After a brief moment, you’ll see the project metadata window:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2nqd74ljp9s2yfvn0ygy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2nqd74ljp9s2yfvn0ygy.png" alt=" " width="800" height="564"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The content is identical to the web-based Spring Initializr. Fill in the fields just as you would on the website.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; Click &lt;strong&gt;Next&lt;/strong&gt; again to reach the window for selecting the Spring Boot version and dependencies:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flucwak1o8xkvmknvue4s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flucwak1o8xkvmknvue4s.png" alt=" " width="800" height="565"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Note that this interface includes not only Spring Boot Starter POMs but also various &lt;strong&gt;Spring Cloud&lt;/strong&gt; dependencies.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4:&lt;/strong&gt; Click &lt;strong&gt;Next&lt;/strong&gt; once more to configure the project’s local storage details. Finally, click &lt;strong&gt;Finish&lt;/strong&gt; to complete the project creation.&lt;/p&gt;

&lt;p&gt;Although IntelliJ’s Spring Initializr is still based on the official web tool, it calls the service directly from the IDE and automatically builds the project in your local file system. This streamlines the entire process. If you haven’t tried it yet, Spring Boot and Spring Cloud enthusiasts should definitely give it a try!&lt;/p&gt;




&lt;h1&gt;
  
  
  Project Structure Overview
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc91jm0e05gn4hgbtv7q0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc91jm0e05gn4hgbtv7q0.png" alt=" " width="800" height="324"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After completing the steps above, your basic project is created. As shown in the image, a Spring Boot project typically contains three core files (exact paths may vary based on the Group ID you provided):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;src/main/java&lt;/code&gt;&lt;/strong&gt;: The application entry point, e.g., &lt;code&gt;Chapter11Application.java&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;src/main/resources&lt;/code&gt;&lt;/strong&gt;: Configuration files, such as &lt;code&gt;application.properties&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;src/test/&lt;/code&gt;&lt;/strong&gt;: The test entry point, e.g., &lt;code&gt;Chapter11ApplicationTests.java&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Both &lt;code&gt;Chapter11Application&lt;/code&gt; and &lt;code&gt;Chapter11ApplicationTests&lt;/code&gt; can be run directly to start the project. However, since no data access or web modules are configured yet, the application will load Spring and then terminate.&lt;/p&gt;




&lt;h1&gt;
  
  
  Project Dependencies Explained
&lt;/h1&gt;

&lt;p&gt;Open the &lt;code&gt;pom.xml&lt;/code&gt; file to examine the project dependencies:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight xml"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;?xml version="1.0" encoding="UTF-8"?&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;project&lt;/span&gt; &lt;span class="na"&gt;xmlns=&lt;/span&gt;&lt;span class="s"&gt;"http://maven.apache.org/POM/4.0.0"&lt;/span&gt; &lt;span class="na"&gt;xmlns:xsi=&lt;/span&gt;&lt;span class="s"&gt;"http://www.w3.org/2001/XMLSchema-instance"&lt;/span&gt;
    &lt;span class="na"&gt;xsi:schemaLocation=&lt;/span&gt;&lt;span class="s"&gt;"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;modelVersion&amp;gt;&lt;/span&gt;4.0.0&lt;span class="nt"&gt;&amp;lt;/modelVersion&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;parent&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;org.springframework.boot&lt;span class="nt"&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;spring-boot-starter-parent&lt;span class="nt"&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;version&amp;gt;&lt;/span&gt;2.1.3.RELEASE&lt;span class="nt"&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;relativePath/&amp;gt;&lt;/span&gt; &lt;span class="c"&gt;&amp;lt;!-- lookup parent from repository --&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/parent&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;com.didispace&lt;span class="nt"&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;chapter1-1&lt;span class="nt"&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;version&amp;gt;&lt;/span&gt;0.0.1-SNAPSHOT&lt;span class="nt"&gt;&amp;lt;/version&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;name&amp;gt;&lt;/span&gt;chapter1-1&lt;span class="nt"&gt;&amp;lt;/name&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;description&amp;gt;&lt;/span&gt;Demo project for Spring Boot&lt;span class="nt"&gt;&amp;lt;/description&amp;gt;&lt;/span&gt;

    &lt;span class="nt"&gt;&amp;lt;properties&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;java.version&amp;gt;&lt;/span&gt;1.8&lt;span class="nt"&gt;&amp;lt;/java.version&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/properties&amp;gt;&lt;/span&gt;

    &lt;span class="nt"&gt;&amp;lt;dependencies&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;org.springframework.boot&lt;span class="nt"&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;spring-boot-starter-web&lt;span class="nt"&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;

        &lt;span class="nt"&gt;&amp;lt;dependency&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;org.springframework.boot&lt;span class="nt"&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;spring-boot-starter-test&lt;span class="nt"&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;scope&amp;gt;&lt;/span&gt;test&lt;span class="nt"&gt;&amp;lt;/scope&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;/dependency&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/dependencies&amp;gt;&lt;/span&gt;

    &lt;span class="nt"&gt;&amp;lt;build&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;plugins&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;plugin&amp;gt;&lt;/span&gt;
                &lt;span class="nt"&gt;&amp;lt;groupId&amp;gt;&lt;/span&gt;org.springframework.boot&lt;span class="nt"&gt;&amp;lt;/groupId&amp;gt;&lt;/span&gt;
                &lt;span class="nt"&gt;&amp;lt;artifactId&amp;gt;&lt;/span&gt;spring-boot-maven-plugin&lt;span class="nt"&gt;&amp;lt;/artifactId&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;/plugin&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;/plugins&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/build&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/project&amp;gt;&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Project Dependencies Explained
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;pom.xml&lt;/code&gt; consists of four main parts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Project Metadata&lt;/strong&gt;: The basic Maven project elements (groupId, artifactId, version, name, description, etc.) filled in during project creation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Parent&lt;/strong&gt;: Inherits from spring-boot-starter-parent, which manages dependency versions and build configurations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dependencies&lt;/strong&gt;: The actual project dependencies:

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;spring-boot-starter-web&lt;/code&gt;: Enables HTTP endpoint support (includes Spring MVC).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;spring-boot-starter-test&lt;/code&gt;: Provides libraries for writing unit tests. We'll explore more starter modules in later tutorials.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Build Configuration&lt;/strong&gt;: Uses the spring-boot-maven-plugin to package the Spring Boot application into an executable JAR file, thanks to the parent POM.&lt;/li&gt;

&lt;/ul&gt;

&lt;h2&gt;
  
  
  Creating an HTTP Endpoint
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Create a package named &lt;code&gt;com.didispace.web&lt;/code&gt; (adjust according to your group ID).&lt;/li&gt;
&lt;li&gt;Create a class &lt;code&gt;HelloController&lt;/code&gt; with the following content:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="nd"&gt;@RestController&lt;/span&gt;
&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;HelloController&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;

    &lt;span class="nd"&gt;@RequestMapping&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"/hello"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="nf"&gt;index&lt;/span&gt;&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="s"&gt;"Hello World"&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;3.Run the main application class (e.g., Chapter11Application.java).&lt;br&gt;
4.Use a tool like Postman or your browser to send a GET request to:&lt;br&gt;
&lt;a href="http://localhost:8080/hello" rel="noopener noreferrer"&gt;http://localhost:8080/hello&lt;/a&gt;&lt;br&gt;
You should see the response:Hello World&lt;/p&gt;

&lt;p&gt;You've now completed the tutorial! &lt;/p&gt;

</description>
      <category>springboot</category>
      <category>java</category>
    </item>
  </channel>
</rss>
