Spring Tool Suite, STS



Spring Tool Suite, STS is an IDE (Integrated Development Environment) and is ideal for developing Spring Boot applications.

Download and install STS

  1. STS can be downloaded from https://spring.io/tools.

  2. Select the Operating System (Windows in this case).

  3. Download the zip file and extract.

  4. Click on the SpringToolSuite4.exe file.

  5. Spring Tool Suite 4 Launcher dialog asks for a workspace location. Enter the location, and press the "Launch" button.

Creating a simple Spring Boot application in STS

  1. Go to File -> New Maven Project.

  2. Click Next. The following dialog appears:

    Create New Project
  3. Select maven-archetype-quickstart

    Create Project Wizard
  4. For GroupId, enter com.tutorialspoint, for ArtifactId enter first-spring-boot-example.

    Finish Project Wizard
  5. Click Finish.

  6. Upon completion, there will be folder structure created −

    Project Explorer
  7. Open the pom.xml file. Add the following under dependencies.

    <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-autoconfigure</artifactId>
       <version>3.3.3</version>
    </dependency>
    

    Also, add the spring framework core jars to the build path by right-clicking on project -> Build path -> Add external archives

    pom.xml

    <?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
       <modelVersion>4.0.0</modelVersion>
       <groupId>com.tutorialspoint</groupId>
       <artifactId>first-spring-boot-example</artifactId>
       <version>0.0.1-SNAPSHOT</version>
       <name>first-spring-boot-example</name>
       <!-- FIXME change it to the project's website -->
       <url>first-spring-boot-example</url>
       <properties>
          <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
          <maven.compiler.release>17</maven.compiler.release>
       </properties>
       <dependencyManagement>
          <dependencies>
             <dependency>
                <groupId>org.junit</groupId>
                <artifactId>junit-bom</artifactId>
                <version>5.11.0</version>
                <type>pom</type>
                <scope>import</scope>
             </dependency>
          </dependencies>
       </dependencyManagement>
       <dependencies>
          <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-autoconfigure</artifactId>
             <version>3.3.3</version>
          </dependency>
          <dependency>  
             <groupId>org.springframework.boot</groupId>  
             <artifactId>spring-boot-starter-web</artifactId>  
             <version>2.2.1.RELEASE</version>  
          </dependency>  
          <dependency>  
             <groupId>org.springframework.boot</groupId>  
             <artifactId>spring-boot-starter-parent</artifactId>  
             <version>2.2.1.RELEASE</version>  
             <type>pom</type>  
          </dependency>  
          <dependency>
             <groupId>org.junit.jupiter</groupId>
             <artifactId>junit-jupiter-api</artifactId>
             <scope>test</scope>
          </dependency>
          <!-- Optionally: parameterized tests support -->
          <dependency>
             <groupId>org.junit.jupiter</groupId>
             <artifactId>junit-jupiter-params</artifactId>
             <scope>test</scope>
          </dependency>
       </dependencies>
       <build>
          <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
             <plugins>
                <!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle -->
                <plugin>
                   <artifactId>maven-clean-plugin</artifactId>
                   <version>3.4.0</version>
                </plugin>
                <!-- default lifecycle, jar packaging: see https://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging -->
                <plugin>
                   <artifactId>maven-resources-plugin</artifactId>
                   <version>3.3.1</version>
                </plugin>
                <plugin>
                   <artifactId>maven-compiler-plugin</artifactId>
                   <version>3.13.0</version>
                </plugin>
                <plugin>
                   <artifactId>maven-surefire-plugin</artifactId>
                   <version>3.3.0</version>
                </plugin>
                <plugin>
                   <artifactId>maven-jar-plugin</artifactId>
                   <version>3.4.2</version>
                </plugin>
                <plugin>
                   <artifactId>maven-install-plugin</artifactId>
                   <version>3.1.2</version>
                </plugin>
                <plugin>
                   <artifactId>maven-deploy-plugin</artifactId>
                   <version>3.1.2</version>
                </plugin>
                <!-- site lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#site_Lifecycle -->
                <plugin>
                   <artifactId>maven-site-plugin</artifactId>
                   <version>3.12.1</version>
                </plugin>
                <plugin>
                   <artifactId>maven-project-info-reports-plugin</artifactId>
                   <version>3.6.1</version>
                </plugin>
             </plugins>
          </pluginManagement>
       </build>
    </project>
    
  8. Create a new Java class under src/main/java with package name com.tutorialspoint.first_spring_boot_example. Name the class FirstSpringBootTestClass.

    FirstSpringBootTest.java

    package com.tutorialspoint.first_spring_boot_example;
    
    import org.springframework.boot.SpringApplication;    
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    public class FirstSpringBootTest {
    
       public static void main(String[] args) {   
          System.out.println("Hello World, this is First Spring Boot Test");
          SpringApplication.run(FirstSpringBootTest.class, args);
       }
    }
    

Output

  1. From project explorer, right-click on the file FirstSpringBootTest, then Run as -> Java application.

  2. On the console, you will see −

    Hello World, this is First Spring Boot Test
    
Advertisements