【筆記:Spring Boot】建立一個 Spring Boot Application 的過程
發現自己沒有可以隨便試一些東西的 Spring Boot 專案……那就來開一個吧,順便把自己的過程與疑惑(?)記錄下來。
1. 建立專案
- Spring Initializr
- 也可以用 Intellij IDEA、SpringToolSuite 或是 VSCode 等 IDE 裡的工具,不過我個人喜歡用官網上這個。
- 選擇選項
- Project:Maven
- Language:Java
- Spring Boot(版本):挑較新、不是
SNAPSHOT
的版本,目前是 3.4.1 - Project Metadata
- Group:自己或公司的,package 上那一串
- 原則是公司網址的倒過來
- 自己個人的……我還沒建立自己的域名,應該無所謂吧 www
- Artifact:這個 Application 的名稱
- Description:這個 Application 的說明
- Packaging:Jar
- Java:挑最新的 LTS,目前是 21
- Group:自己或公司的,package 上那一串
- Dependencies
- 把需要用到的抓進來
- 基礎
- Spring Boot DevTools
- 存檔時重新加載、禁用快取等方便開發時使用的功能
- Spring Boot DevTools
- 根據需求
- Web
- Spring Web
- ORM
- Spring Data JPA
- 資料庫 Driver
- MS SQL Server Driver
- 網頁模板引擎
- Thymeleaf
- Web
2. 匯入 IDE
- 選擇「匯入 Maven Project」
3. 設定資料庫
- 準備好 login 資訊、資料庫和資料表
- 命名原則
- 資料表:複數,小寫 snake_case
- 欄位:小寫 snake_case
- 命名原則
- 在 application.properties 加入 Datasource 設定:
1
2
3
4
5
6
7
8spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource.url=jdbc:sqlserver://localhost:1433;database=<記得換上對應資料庫的名稱>;encrypt=true;trustServerCertificate=true
spring.datasource.username=<使用者名稱>
spring.datasource.password=<密碼>
# 開發時可以加上,方便查看 Spring Data JPA 生成的 SQL 指令
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true- url 裡的「encrypt」指的是資料傳送是否加密;「trustServerCertificate」指的是是否信任憑證、若為
false
就要再做更多的驗證、也更安全——但是在自己玩的環境中就先免了吧。
- url 裡的「encrypt」指的是資料傳送是否加密;「trustServerCertificate」指的是是否信任憑證、若為
4. 寫程式……
- Entity
- 命名原則
- class 名稱:大寫開頭的 CamelCase,單數
- 屬性名稱:小寫開頭的 camelCase
- 記得加上
@Table(name = "snake_case")
、指定到資料庫裡命名原則不同的資料表 - 不過屬性名稱沒關係,會自動對應到使用 snake_case 命名的欄位
- 命名原則
- Repository、Service、Controller……
- RESTful API 命名原則:全小寫、以
-
分隔,複數
- RESTful API 命名原則:全小寫、以
5. 打包
1 | mvn package |
這樣 target 資料夾下就會出現可執行的 jar 檔了。
參考資料
- ChatGPT