iT邦幫忙

2023 iThome 鐵人賽

DAY 5
0
自我挑戰組

Spring Boot 三十天挑戰賽系列 第 5

Day 05 - Spring Initializr - 啟動專案

  • 分享至 

  • xImage
  •  

實作時適合聽沒有詞的音樂,今天推薦我最最最愛的義大利新古典樂大師 Ludovico Einaudi,每次聽他演奏心靈都會很平靜,在發文前半小時把飲料打翻在電腦上的我很需要平靜…
這首是和 Green Peace 合作,在挪威漂流冰川上現場演奏 Ludovico 原創的 Elegy for the Arctic
Yes

到了 Day 5,該是時候建立一個 Spring Boot 應用程式(握拳)!

建立 Spring Boot Application 有很多種方式,最主流的方法是使用 Spring Initializr 這個線上工具。

透過它自動生成專案初始結構。中間過程只要選擇所需的 dependencies,其他設定 Initializr 會自動幫我們完成。

  1. 開啟 Spring Initializr
    https://ithelp.ithome.com.tw/upload/images/20230920/201626820l6jGYNHq5.png

  2. 選擇 Maven Project or Gradle Project 以及 Java 版本。

    • Group 通常會填入顛倒的域名,這邊我使用 com.meowmeow;而 Artifact 通常設定為專案名稱,與Group、Version 作為唯一識別,這邊我填入 ithomexdemo
    • 注意 Spring Boot 各版本對 jdk 的要求再去選擇相對應的 Java
  3. Dependencies 區選擇想添加的依賴,這邊我加入了:
    https://ithelp.ithome.com.tw/upload/images/20230920/20162682aWQeeAoXiK.png

    • Spring Web,這是為了建立網頁或 RESTful API。
    • Spring Boot DevTools,在開發環境時才需要使用到的熱部署 (hot deploy) 工具
    • Spring Data JPA:Spring 基於 Hibernate 開發的一個 JPA 框架
    • Lombok:是一個 Java library,通過 annotations 來簡化程式碼,除了提升可讀性外,還可節省開發時間。在 intellij 這個 IDE 中只要加入此 plugin 即可使用,如為 Eclipse 則需要另外安裝。
    • Spring Boot Actuator:提供了生產準備的功能來監控和管理你的應用,例如應用的健康狀態、已配置的環境屬性、JVM、GC、各種系統特性等。通過多個 endpoints 來提供例如應用程式的健康狀態 health check、已配置的環境屬性、JVM、GC、各種系統特性等功能,這些端點可以通過 HTTP、JMX 或其他方式暴露。例如,我們可以通過 /health 來獲取當前應用程式的健康狀態。
    • TestContainers:是一個 Java library,透過使用 Docker 容器來進行整合測試。為多數資料庫、message queue、browsers 等提供了容器的支持,讓我們在整合測試時不需要安裝和運行真正的服務或資料庫,而可以直接在 Docker 容器中運行它們。例如我想在測試中使用 PostgreSQL,不需要在機器上安裝 PostgreSQL,只需要使用 TestContainers 啟動一個 PostgreSQL 的容器即可。
  4. 完成以上步驟,點擊 Generate 下載 .zip 檔,然後解壓縮至當前工作目錄。

2. 導入至 IDE

將下載的項目 import 到你所使用的 IDE(如 IntelliJ 或 Eclipse)

3. 專案結構簡介

解壓縮後的資料夾結構會如下:

  1. Maven

    ithomexdemo/
    ├── src/
    │   ├── main/
    │   │   ├── java/
    │   │   │   └── com/
    │   │   │       └── meowmeow/
    │   │   │           └── ithomexdemo/
    │   │   │               └── IthomexdemoApplication.java
    │   │   ├── resources/
    │   │   │   ├── static/
    │   │   │   ├── templates/
    │   │   │   └── application.properties
    │   └── test/
    │       └── ...
    ├── mvnw
    ├── mvnw.cmd
    ├── pom.xml
    └── ...
    
    
  2. Gradle

    ithomexdemo/
    ├── src/
    │   ├── main/
    │   │   ├── java/
    │   │   │   └── com/
    │   │   │       └── meowmeow/
    │   │   │           └── ithomexdemo/
    │   │   │               └── IthomexdemoApplication.java
    │   │   ├── resources/
    │   │   │   ├── static/
    │   │   │   ├── templates/
    │   │   │   └── application.properties
    │   └── test/
    │       └── ...
    ├── build.gradle
    └── ...
    

    https://ithelp.ithome.com.tw/upload/images/20230920/20162682EH9xlFMLtU.png

主要的 Java source code 位於 src/main/java,而配置文件和其他 resources 則位於 src/main/resources

明天來接續說明一下目錄結構及這些好用的工具,另外順便教大家如何使用學生身份申請 JetBrains IDE 個人使用的 Free Educational Licenses!


上一篇
Day 04 - Spring Boot Starter
下一篇
Day 06 - Useful Tools - 好用且強大的工具
系列文
Spring Boot 三十天挑戰賽30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言