知識庫 / Spring RSS 訂閱

Eclipse STS 中 Spring 開發指南

IDE,Spring
HongKong
4
02:49 PM · Dec 06 ,2025

1. 概述

本文介紹了一些 Eclipse Spring Tool Suite (STS) IDE 的實用功能,這些功能在開發 Spring 應用 時非常有用。

首先,我們將展示使用 STS 相較於使用傳統 Eclipse 構建應用程序的優勢。

隨後,我們將重點介紹如何啓動應用程序、運行它以及添加額外的依賴項。最後,我們將通過添加應用程序參數來總結全文。

2. STS 主要功能

STS 是一個基於 Eclipse 的開發環境,專門為 Spring 應用程序的開發進行了定製。

它提供了一個可直接使用的環境,用於實現、調試、運行和部署您的應用程序。它還包括對 Pivotal tc Server、Pivotal Cloud Foundry、Git、Maven 和 AspectJ 的集成。STS 是建立在最新 Eclipse 版本的基礎上開發的。

2.1 項目配置

STS 能夠理解幾乎所有常見的 Java 項目結構。它解析配置文件,然後顯示有關 Bean 的詳細信息,包括定義的 Bean、依賴關係、使用的命名空間以及提取的特定 Stereotype 概述。

2.2 STS 功能概述

Eclipse STS 會驗證您的項目,併為您的應用程序提供快速修復。例如,在與 Spring Data JPA 協作時,IDE 可用於驗證查詢方法名稱(更多信息請參見第 6 節)。

STS 還提供所有 Bean 方法及其相互關係的圖形視圖。為了更深入地瞭解隨 STS 提供的圖形編輯器,請查看“窗口”、“顯示視圖”和“Spring”菜單下的視圖。

STS 還提供其他有用的功能,這些功能不限於 Spring 應用程序。建議您查看完整功能列表,該列表可以在 這裏 找到。

3. Spring 應用創建

我們先來創建一個簡單的應用。在沒有使用 STS 的情況下,Spring 應用通常使用 Spring Initializer 網站或 Spring Boot CLI 創建。可以通過在 STS 儀表板上點擊 Create Spring Starter Project 來簡化操作。

New Spring Starter Project 屏幕上,可以選擇使用默認設置或進行自定義調整,然後點擊“下一步”。選擇 Web 並點擊“完成”。你的 pom.xml 應該看起來類似於以下內容:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>3.1.5</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <java.version>1.8</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>

您的 Spring Boot 版本可能有所不同,但最新版本始終可以從 這裏找到。

4. 運行應用程序

該應用程序可以通過右鍵單擊項目並選擇“作為 Spring Boot 應用程序”來啓動。如果沒有使用 STS,您通常需要在命令行中使用以下命令運行該應用程序:

$ mvn spring-boot:run

默認情況下,Spring 應用程序會使用 Tomcat 運行,端口號為 8080。此時,應用程序將在 8080 端口上啓動,並且不會執行任何其他操作,因為我們尚未實現任何代碼。第 8 章介紹瞭如何更改默認端口。

5. 日誌記錄與 ANSI 控制枱

當你使用 IDE 通過運行命令運行項目時,你會注意到控制枱輸出了一些美觀的 帶有顏色編碼的 日誌語句。 如果你希望關閉它,請轉到 運行配置…,並在 Spring Boot 標籤頁上禁用 啓用 ANSI 控制枱輸出 複選框。

或者,你也可以通過在 application.properties 文件中設置屬性值來禁用它。

spring.output.ansi.enabled=NEVER

關於應用程序日誌配置的更多信息,請參閲 這裏

6. JPA 查詢名稱檢查

在實現數據訪問層時,有時會變得繁瑣。為了實現簡單的查詢和分頁功能,可能需要編寫大量的樣板代碼。 Spring Data JPA (JPA) 的目標是顯著簡化數據訪問層的實現。 本節將説明使用 JPA 與 STS 結合的一些好處。

要開始,請將以下依賴項添加到先前生成的 pom.xml 中:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
</dependency>

您可能注意到,上述聲明中未指定版本。這是因為依賴項由spring-boot-starter-parent進行管理。

為了使 JPA 工作,您需要正確定義您的實體管理器和事務管理器。但是,Spring 會自動配置這些組件。開發者唯一需要做的就是創建實際的實體類。這些實體類由實體管理器管理,而實體管理器又由容器創建。例如,我們可以這樣創建實體類Foo

@Entity
public class Foo implements Serializable {
    @Id
    @GeneratedValue
    private Integer id;
    private String name;

    // Standard getters and setters
}

容器掃描所有標記了 @Entity 標註的類,掃描範圍從配置包的根目錄開始。接下來,我們創建一個 JPA 倉庫,用於 Foo 實體:

public interface FooRepository extends JpaRepository<Foo, Integer> {
    public Foo findByNames(String name);
}

在此處,你可能已經注意到 IDE 現在已將此查詢方法標記為異常:

Invalid derived query! No property names found for type Foo!

這當然是由於我們在 JPA 存儲庫的方法名稱中不小心寫了一個“s”造成的。要修復此問題,請刪除此不必要的“s”,如下所示:

public Foo findByName(String name);

請注意,配置類未使用 @EnableJpaRepositories。這是因為容器的 AutoConfigration 已經預先註冊了一個用於該項目的。

7. 查找 JAR 類型

“查找 JAR 類型” 是在 STS 3.5.0 中引入的一個功能。它為項目中的尚未(尚未)添加到類路徑上的類提供內容輔助建議。STS 可以在類路徑尚未包含的情況下,幫助您將依賴項添加到 POM 文件中。

例如,讓我們為 Foo 實體類添加一行。為了使此示例正常工作,請確保首先導入 java.util.List 語句已存在。

private List<String> strings = Lists // ctrl + SPACE to get code completion

IDE 將會提示添加多個依賴項到 classpath 中。請點擊 com.google.common.collect,然後按下回車鍵,並添加 Guava 依賴。Guava jar 文件將會自動添加到你的 pom.xml 文件中,如下所示:

<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>33.2.1-jre</version>
</dependency>

截至 STS 3.8.0 版本,您在 STS 修改您的 pom.xml 文件之前,會收到確認對話框。

8. 添加應用程序參數

Spring 強大的另一個特性是支持外部配置,這些配置可以通過多種方式傳遞給應用程序,例如作為命令行參數、在屬性文件中或 YAML 文件中指定,或作為系統屬性。 在本節中,我們將重點介紹如何使用 STS 將配置選項作為應用程序啓動參數添加。 這通過配置 Tomcat 在不同的端口上啓動來演示。

為了在 Tomcat 上以非默認端口運行應用程序,可以使用以下命令,其中自定義端口作為命令行參數指定:

mvn spring-boot:run -Drun.arguments="--server.port=7070"

當你使用STS時,需要前往run菜單。 在“運行配置”對話框中選擇run configurations…,在左側面板中選擇Spring Boot App,並選擇demo – DemoApplication(如果未選擇默認項目,則會不同)。 在(x)= Arguments選項卡中,在“程序參數”窗口中輸入。

--server.port=7070

並且 運行。您應該在控制枱中看到類似於以下示例的輸出:

.
.
2016-07-06 13:51:40.999  INFO 8724 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 7070 (http)
2016-07-06 13:51:41.006  INFO 8724 --- [           main] com.baeldung.boot.DemoApplication        : Started DemoApplication in 6.245 seconds (JVM running for 7.34)

9. 結論

在本文中,我們展示了在STS中開發Spring項目的基本方法。我們展示了在STS中執行應用程序、在STS中開發Spring Data JPA的支持以及使用命令行參數等內容。然而,STS還提供了豐富的功能,這些功能可以在開發過程中得到應用。

user avatar
0 位用戶收藏了這個故事!
收藏

發佈 評論

Some HTML is okay.