SKILL.md
readonlyread-only
name
create-spring-boot-java-project
description
建立 Spring Boot Java 專案骨架
建立 Spring Boot Java 專案提示
-
請確認您的系統已安裝以下軟體:
- Java 21
- Docker
- Docker Compose
-
如果您需要自訂專案名稱,請在 下載 Spring Boot 專案範本 中修改
artifactId和packageName -
如果您需要更新 Spring Boot 版本,請在 下載 Spring Boot 專案範本 中修改
bootVersion
檢查 Java 版本
- 在終端機執行以下指令,檢查 Java 版本
java -version
下載 Spring Boot 專案範本
- 在終端機執行以下指令,下載 Spring Boot 專案範本
curl https://start.spring.io/starter.zip \
-d artifactId=${input:projectName:demo-java} \
-d bootVersion=3.4.5 \
-d dependencies=lombok,configuration-processor,web,data-jpa,postgresql,data-redis,data-mongodb,validation,cache,testcontainers \
-d javaVersion=21 \
-d packageName=com.example \
-d packaging=jar \
-d type=maven-project \
-o starter.zip
解壓縮下載的檔案
- 在終端機執行以下指令,解壓縮下載的檔案
unzip starter.zip -d ./${input:projectName:demo-java}
刪除下載的壓縮檔
- 在終端機執行以下指令,刪除下載的壓縮檔
rm -f starter.zip
切換到專案根目錄
- 在終端機執行以下指令,切換到專案根目錄
cd ${input:projectName:demo-java}
加入額外依賴
- 在
pom.xml檔案中插入springdoc-openapi-starter-webmvc-ui和archunit-junit5依賴
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.8.6</version>
</dependency>
<dependency>
<groupId>com.tngtech.archunit</groupId>
<artifactId>archunit-junit5</artifactId>
<version>1.2.1</version>
<scope>test</scope>
</dependency>
加入 SpringDoc、Redis、JPA 和 MongoDB 設定
- 在
application.properties檔案中插入 SpringDoc 設定
# SpringDoc 設定
springdoc.swagger-ui.doc-expansion=none
springdoc.swagger-ui.operations-sorter=alpha
springdoc.swagger-ui.tags-sorter=alpha
- 在
application.properties檔案中插入 Redis 設定
# Redis 設定
spring.data.redis.host=localhost
spring.data.redis.port=6379
spring.data.redis.password=rootroot
- 在
application.properties檔案中插入 JPA 設定
# JPA 設定
spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://localhost:5432/postgres
spring.datasource.username=postgres
spring.datasource.password=rootroot
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true
- 在
application.properties檔案中插入 MongoDB 設定
# MongoDB 設定
spring.data.mongodb.host=localhost
spring.data.mongodb.port=27017
spring.data.mongodb.authentication-database=admin
spring.data.mongodb.username=root
spring.data.mongodb.password=rootroot
spring.data.mongodb.database=test
加入包含 Redis、PostgreSQL 和 MongoDB 服務的 docker-compose.yaml
-
在專案根目錄建立
docker-compose.yaml,並加入以下服務:redis:6、postgresql:17和mongo:8。- redis 服務應有
- 密碼
rootroot - 對應埠號 6379 到 6379
- 掛載磁碟區
./redis_data到/data
- 密碼
- postgresql 服務應有
- 密碼
rootroot - 對應埠號 5432 到 5432
- 掛載磁碟區
./postgres_data到/var/lib/postgresql/data
- 密碼
- mongo 服務應有
- 初始化資料庫 root 使用者名稱
root - 初始化資料庫 root 密碼
rootroot - 對應埠號 27017 到 27017
- 掛載磁碟區
./mongo_data到/data/db
- 初始化資料庫 root 使用者名稱
- redis 服務應有
加入 .gitignore 檔案
- 在
.gitignore檔案中插入redis_data、postgres_data和mongo_data目錄
執行 Maven 測試指令
- 執行 maven clean test 指令,確認專案是否正常運作
./mvnw clean test
執行 Maven 執行指令(選擇性)
- (選擇性)執行
docker-compose up -d啟動服務,./mvnw spring-boot:run執行 Spring Boot 專案,docker-compose rm -sf停止服務。






