avatarMalshani Wijekoon

Free AI web copilot to create summaries, insights and extended knowledge, download it at here

6757

Abstract

Id</span>></span>org.springframework.boot<span class="hljs-tag"></<span class="hljs-name">groupId</span>></span> <span class="hljs-tag"><<span class="hljs-name">artifactId</span>></span>spring-boot-starter-test<span class="hljs-tag"></<span class="hljs-name">artifactId</span>></span> <span class="hljs-tag"><<span class="hljs-name">scope</span>></span>test<span class="hljs-tag"></<span class="hljs-name">scope</span>></span> <span class="hljs-tag"></<span class="hljs-name">dependency</span>></span> <span class="hljs-tag"><<span class="hljs-name">dependency</span>></span> <span class="hljs-tag"><<span class="hljs-name">groupId</span>></span>org.springframework.boot<span class="hljs-tag"></<span class="hljs-name">groupId</span>></span> <span class="hljs-tag"><<span class="hljs-name">artifactId</span>></span>spring-boot-starter-actuator<span class="hljs-tag"></<span class="hljs-name">artifactId</span>></span> <span class="hljs-tag"></<span class="hljs-name">dependency</span>></span> <span class="hljs-tag"><<span class="hljs-name">dependency</span>></span> <span class="hljs-tag"><<span class="hljs-name">groupId</span>></span>org.springframework.boot<span class="hljs-tag"></<span class="hljs-name">groupId</span>></span> <span class="hljs-tag"><<span class="hljs-name">artifactId</span>></span>spring-boot-starter-tomcat<span class="hljs-tag"></<span class="hljs-name">artifactId</span>></span> <span class="hljs-tag"><<span class="hljs-name">scope</span>></span>provided<span class="hljs-tag"></<span class="hljs-name">scope</span>></span> <span class="hljs-tag"></<span class="hljs-name">dependency</span>></span> <span class="hljs-tag"><<span class="hljs-name">dependency</span>></span> <span class="hljs-tag"><<span class="hljs-name">groupId</span>></span>io.projectreactor<span class="hljs-tag"></<span class="hljs-name">groupId</span>></span> <span class="hljs-tag"><<span class="hljs-name">artifactId</span>></span>reactor-test<span class="hljs-tag"></<span class="hljs-name">artifactId</span>></span> <span class="hljs-tag"><<span class="hljs-name">scope</span>></span>test<span class="hljs-tag"></<span class="hljs-name">scope</span>></span> <span class="hljs-tag"></<span class="hljs-name">dependency</span>></span> <span class="hljs-tag"></<span class="hljs-name">dependencies</span>></span>

<span class="hljs-tag">&lt;<span class="hljs-name">build</span>&gt;</span>
    <span class="hljs-tag">&lt;<span class="hljs-name">plugins</span>&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-name">plugin</span>&gt;</span>
            <span class="hljs-tag">&lt;<span class="hljs-name">groupId</span>&gt;</span>org.graalvm.buildtools<span class="hljs-tag">&lt;/<span class="hljs-name">groupId</span>&gt;</span>
            <span class="hljs-tag">&lt;<span class="hljs-name">artifactId</span>&gt;</span>native-maven-plugin<span class="hljs-tag">&lt;/<span class="hljs-name">artifactId</span>&gt;</span>
        <span class="hljs-tag">&lt;/<span class="hljs-name">plugin</span>&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-name">plugin</span>&gt;</span>
            <span class="hljs-tag">&lt;<span class="hljs-name">groupId</span>&gt;</span>org.springframework.boot<span class="hljs-tag">&lt;/<span class="hljs-name">groupId</span>&gt;</span>
            <span class="hljs-tag">&lt;<span class="hljs-name">artifactId</span>&gt;</span>spring-boot-maven-plugin<span class="hljs-tag">&lt;/<span class="hljs-name">artifactId</span>&gt;</span>
            <span class="hljs-tag">&lt;<span class="hljs-name">configuration</span>&gt;</span>
                <span class="hljs-tag">&lt;<span class="hljs-name">excludes</span>&gt;</span>
                    <span class="hljs-tag">&lt;<span class="hljs-name">exclude</span>&gt;</span>
                        <span class="hljs-tag">&lt;<span class="hljs-name">groupId</span>&gt;</span>org.projectlombok<span class="hljs-tag">&lt;/<span class="hljs-name">groupId</span>&gt;</span>
                        <span class="hljs-tag">&lt;<span class="hljs-name">artifactId</span>&gt;</span>lombok<span class="hljs-tag">&lt;/<span class="hljs-name">artifactId</span>&gt;</span>
                    <span class="hljs-tag">&lt;/<span class="hljs-name">exclude</span>&gt;</span>
                <span class="hljs-tag">&lt;/<span class="hljs-name">excludes</span>&gt;</span>
            <span class="hljs-tag">&lt;/<span class="hljs-name">configuration</span>&gt;</span>
        <span class="hljs-tag">&lt;/<span class="hljs-name">plugin</span>&gt;</span>
        <span class="hljs-tag">&lt;<span class="hljs-name">plugin</span>&gt;</span>
            <span class="hljs-tag">&lt;<span class="hljs-name">groupId</span>&gt;</span>org.apache.maven.plugins<span class="hljs-tag">&lt;/<span class="hljs-name">groupId</span>&gt;</span>
            <span class="hljs-tag">&lt;<span class="hljs-name">artifactId</span>&gt;</span>maven-surefire-plugin<span class="hljs-tag">&lt;/<span class="hljs-name">artifactId</span>&gt;</span>
            <span class="hljs-tag">&lt;<span class="hljs-name">version</span>&gt;</span>2.19.1<span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span>
        <span class="hljs-tag">&lt;/<span class="hljs-name">plugin</span>&gt;</span>
    <span class="hljs-tag">&lt;/<span class="hljs-name">plugins</span>&gt;</span>
<span class="hljs-tag">&lt;/<span class="hljs-name">build</span>&gt;</span>

<span class="hljs-tag"></<span class="hljs-name">project</span>></span></pre></div><p id="c425">Let’s go through in detail about above dependencies. All versions are in latest versions and compatible with Spring 5.x.x.</p><ol><li>This is for Spring 5.x.x,</li></ol><div id="b594"><pre><span class="hljs-tag"><<span class="hljs-name">parent</span>></span> <span class="hljs-tag"><<span class="hljs-name">groupId</span>></span>org.springframework.boot<span class="hljs-tag"></<span class="hljs-name">groupId</span>></span> <span class="hljs-tag"><<span class="hljs-name">artifactId</span>></span>spring-boot-starter-parent<span class="hljs-tag"></<span class="hljs-name">artifactId</span>></span> <span class="hljs-tag"><<span class="hljs-name">version</span>></span>2.7.8<span class="hljs-tag"></<span class="hljs-name">ver

Options

sion</span>></span> <span class="hljs-tag"><<span class="hljs-name">relativePath</span>/></span> <span class="hljs-comment"><!-- lookup parent from repository --></span> <span class="hljs-tag"></<span class="hljs-name">parent</span>></span></pre></div><p id="9c39">2. These are project details,</p><div id="1fa8"><pre><span class="hljs-tag"><<span class="hljs-name">groupId</span>></span>com.example<span class="hljs-tag"></<span class="hljs-name">groupId</span>></span> <span class="hljs-tag"><<span class="hljs-name">artifactId</span>></span>OnlineBookStore<span class="hljs-tag"></<span class="hljs-name">artifactId</span>></span> <span class="hljs-tag"><<span class="hljs-name">version</span>></span>0.0.1-SNAPSHOT<span class="hljs-tag"></<span class="hljs-name">version</span>></span> <span class="hljs-tag"><<span class="hljs-name">packaging</span>></span>war<span class="hljs-tag"></<span class="hljs-name">packaging</span>></span> <span class="hljs-tag"><<span class="hljs-name">name</span>></span>OnlineBookStore<span class="hljs-tag"></<span class="hljs-name">name</span>></span> <span class="hljs-tag"><<span class="hljs-name">description</span>></span>OnlineBookStore<span class="hljs-tag"></<span class="hljs-name">description</span>></span></pre></div><p id="d359">3. Java Version,</p><div id="f56b"><pre><span class="hljs-tag"><<span class="hljs-name">properties</span>></span> <span class="hljs-tag"><<span class="hljs-name">java.version</span>></span>11<span class="hljs-tag"></<span class="hljs-name">java.version</span>></span> <span class="hljs-tag"></<span class="hljs-name">properties</span>></span></pre></div><p id="a5be">4. For maven plugin,</p><div id="d6d3"><pre><span class="hljs-tag"><<span class="hljs-name">plugin</span>></span> <span class="hljs-tag"><<span class="hljs-name">groupId</span>></span>org.graalvm.buildtools<span class="hljs-tag"></<span class="hljs-name">groupId</span>></span> <span class="hljs-tag"><<span class="hljs-name">artifactId</span>></span>native-maven-plugin<span class="hljs-tag"></<span class="hljs-name">artifactId</span>></span> <span class="hljs-tag"></<span class="hljs-name">plugin</span>></span> <span class="hljs-tag"><<span class="hljs-name">plugin</span>></span> <span class="hljs-tag"><<span class="hljs-name">groupId</span>></span>org.springframework.boot<span class="hljs-tag"></<span class="hljs-name">groupId</span>></span> <span class="hljs-tag"><<span class="hljs-name">artifactId</span>></span>spring-boot-maven-plugin<span class="hljs-tag"></<span class="hljs-name">artifactId</span>></span> <span class="hljs-tag"><<span class="hljs-name">configuration</span>></span> <span class="hljs-tag"><<span class="hljs-name">excludes</span>></span> <span class="hljs-tag"><<span class="hljs-name">exclude</span>></span> <span class="hljs-tag"><<span class="hljs-name">groupId</span>></span>org.projectlombok<span class="hljs-tag"></<span class="hljs-name">groupId</span>></span> <span class="hljs-tag"><<span class="hljs-name">artifactId</span>></span>lombok<span class="hljs-tag"></<span class="hljs-name">artifactId</span>></span> <span class="hljs-tag"></<span class="hljs-name">exclude</span>></span> <span class="hljs-tag"></<span class="hljs-name">excludes</span>></span> <span class="hljs-tag"></<span class="hljs-name">configuration</span>></span> <span class="hljs-tag"></<span class="hljs-name">plugin</span>></span></pre></div><p id="048c">5. To run an application’s unit tests, utilize the Surefire Plugin during the test stage of the build lifecycle.</p><div id="7707"><pre><span class="hljs-tag"><<span class="hljs-name">plugin</span>></span> <span class="hljs-tag"><<span class="hljs-name">groupId</span>></span>org.apache.maven.plugins<span class="hljs-tag"></<span class="hljs-name">groupId</span>></span> <span class="hljs-tag"><<span class="hljs-name">artifactId</span>></span>maven-surefire-plugin<span class="hljs-tag"></<span class="hljs-name">artifactId</span>></span> <span class="hljs-tag"><<span class="hljs-name">version</span>></span>2.19.1<span class="hljs-tag"></<span class="hljs-name">version</span>></span> <span class="hljs-tag"></<span class="hljs-name">plugin</span>></span></pre></div><p id="c4c9">6. Other Spring Boot dependencies are default dependencies which are added by Spring Boot initializr.</p><p id="278e">Now all codes are added to the project. Then open maven tool window and run following command</p><div id="d792"><pre>mvn clean install</pre></div><figure id="4b8d"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*yLLVdK1q7gHYjX4Zp_LWGQ.png"><figcaption></figcaption></figure><p id="48a3">You will get similar message like above image.</p><p id="6ec4"><b>Up the Server</b></p><p id="3eb1">Click following icon in intelliJ.</p><figure id="bc2d"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*G46oQYCfC_aYT4T-G--KJw.png"><figcaption></figcaption></figure><p id="38e6">You will get a message similar to below image.</p><figure id="6549"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*T1fAnO4VP8mIu--_qmW3rQ.png"><figcaption></figcaption></figure><p id="038d">Now you are ready to implement the Spring Boot Application.</p><p id="8a86"><b>IntelliJ Settings</b></p><p id="79b6">For your reference I’m adding IntelliJ setting here.</p><figure id="e9e7"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*yur0u4ZsV4TwWgPDGMu-rQ.png"><figcaption></figcaption></figure><figure id="d79e"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*UoCAkXTbu0qm8ebMBgWvlQ.png"><figcaption></figcaption></figure><figure id="e5c8"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*PELTPzJl2ZM0Ah70KsuM-g.png"><figcaption></figcaption></figure><figure id="eb5c"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*3r02Txzyg_HDVxr2v7un6w.png"><figcaption></figcaption></figure><figure id="e255"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*aU28wWUvhw4BrCzC3945IQ.png"><figcaption></figcaption></figure><figure id="e228"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*kRPUPcO8LgRNRGEU86RCwg.png"><figcaption></figcaption></figure><figure id="7cf9"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*hQwCR0gABmYP6kQyybne5w.png"><figcaption></figcaption></figure></article></body>

Setup Spring Boot 5.x.x Application Using Java 11.0

What is Spring Boot?

An open source Java-based framework called Spring Boot is used to build micro Services. The Pivotal Team created it, and it’s used to create standalone, production-ready spring apps. You will learn about Spring Boot in this article and become familiar with some of its fundamental ideas. There are 2 ways to create spring boot application.

  1. Using Spring Boot initializr
  2. Using an IDE (Here I’m using IntelliJ)

Pre-requisites

-Java — 11 (configured in intelliJ)

-Spring Boot 5 (spring-boot-starter-parent — 2.7.8). This version is compatible with only Java 11 version. If you want to create Spring Boot 6.x.x version you need to install Java 17 or higher version.

-IntelliJ IDEA 2021.3.2 (Ultimate Edition)

How to Create a Spring Boot Application using Spring Boot Initializr?

-Go to https://start.spring.io/ and add following details to the spring initializr.

-In here initially add relevent spring web dependencies (Here I’m adding only spring web dependency) and click ‘Generate’. You will get the zip file as a downloaded file.

-Unzip and open the project in intelliJ.

How to Create the Spring Boot Application Using IntelliJ?

-Download and Install intelliJ 2021.3.2 (Ultimate Edition), You can use any version.

-Click File -> New -> Project and add following details.

-Click ‘Next’ and add initial dependencies.

-Click ‘Finish’

Modify the pom.xml

Once the spring boot application is opened in intelliJ it will look like below structure.

Once you open it in intelliJ, need to do few modifications to the pom.xml. Below I have added the modified the pom.xml. Compare with initial pom.xml and add relevent dependencies.

<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.8</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>OnlineBookStore</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <name>OnlineBookStore</name>
    <description>OnlineBookStore</description>
    <properties>
        <java.version>11</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>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>io.projectreactor</groupId>
            <artifactId>reactor-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.graalvm.buildtools</groupId>
                <artifactId>native-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.19.1</version>
            </plugin>
        </plugins>
    </build>
</project>

Let’s go through in detail about above dependencies. All versions are in latest versions and compatible with Spring 5.x.x.

  1. This is for Spring 5.x.x,
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.7.8</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

2. These are project details,

<groupId>com.example</groupId>
<artifactId>OnlineBookStore</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>OnlineBookStore</name>
<description>OnlineBookStore</description>

3. Java Version,

<properties>
    <java.version>11</java.version>
</properties>

4. For maven plugin,

<plugin>
    <groupId>org.graalvm.buildtools</groupId>
    <artifactId>native-maven-plugin</artifactId>
</plugin>
<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <excludes>
            <exclude>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
            </exclude>
        </excludes>
    </configuration>
</plugin>

5. To run an application’s unit tests, utilize the Surefire Plugin during the test stage of the build lifecycle.

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.19.1</version>
</plugin>

6. Other Spring Boot dependencies are default dependencies which are added by Spring Boot initializr.

Now all codes are added to the project. Then open maven tool window and run following command

mvn clean install

You will get similar message like above image.

Up the Server

Click following icon in intelliJ.

You will get a message similar to below image.

Now you are ready to implement the Spring Boot Application.

IntelliJ Settings

For your reference I’m adding IntelliJ setting here.

Spring Initializr
Java
Spring Boot
Spring
Spring Framework
Recommended from ReadMedium