SKILL.md
唯讀
名稱
create-spring-boot-kotlin-project
描述
建立 Spring Boot Kotlin 專案骨架
建立 Spring Boot Kotlin 專案提示詞
-
請先確認您的系統已安裝以下軟體:
- 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-kotlin} \
-d bootVersion=3.4.5 \
-d dependencies=configuration-processor,webflux,data-r2dbc,postgresql,data-redis-reactive,data-mongodb-reactive,validation,cache,testcontainers \
-d javaVersion=21 \
-d language=kotlin \
-d packageName=com.example \
-d packaging=jar \
-d type=gradle-project-kotlin \
-o starter.zip
解壓縮下載的檔案
- 在終端機執行以下命令,解壓縮下載的檔案
unzip starter.zip -d ./${input:projectName:demo-kotlin}
刪除下載的 ZIP 檔案
- 在終端機執行以下命令,刪除下載的 ZIP 檔案
rm -f starter.zip
解壓縮下載的檔案
- 在終端機執行以下命令,解壓縮下載的檔案
unzip starter.zip -d ./${input:projectName:demo-kotlin}
新增額外的相依套件
- 將
springdoc-openapi-starter-webmvc-ui與archunit-junit5相依套件加入build.gradle.kts檔案中
dependencies {
implementation("org.springdoc:springdoc-openapi-starter-webflux-ui:2.8.6")
testImplementation("com.tngtech.archunit:archunit-junit5:1.2.1")
}
- 將 SpringDoc 設定寫入
application.properties檔案
# SpringDoc configurations
springdoc.swagger-ui.doc-expansion=none
springdoc.swagger-ui.operations-sorter=alpha
springdoc.swagger-ui.tags-sorter=alpha
- 將 Redis 設定寫入
application.properties檔案
# Redis configurations
spring.data.redis.host=localhost
spring.data.redis.port=6379
spring.data.redis.password=rootroot
- 將 R2DBC 設定寫入
application.properties檔案
# R2DBC configurations
spring.r2dbc.url=r2dbc:postgresql://localhost:5432/postgres
spring.r2dbc.username=postgres
spring.r2dbc.password=rootroot
spring.sql.init.mode=always
spring.sql.init.platform=postgres
spring.sql.init.continue-on-error=true
- 將 MongoDB 設定寫入
application.properties檔案
# MongoDB configurations
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
-
在專案根目錄建立
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 服務應包含:
- initdb root 使用者名稱
root - initdb root 密碼
rootroot - 將連接埠 27017 對應至 27017
- 將資料卷
./mongo_data掛載至/data/db
- initdb root 使用者名稱
- redis 服務應包含:
-
將
redis_data、postgres_data和mongo_data目錄新增至.gitignore檔案中 -
執行 gradle clean test 命令,檢查專案是否能正常運作
./gradlew clean test
- (選填)執行
docker-compose up -d啟動服務、執行./gradlew spring-boot:run運行 Spring Boot 專案、執行docker-compose rm -sf停止服務。
讓我們一步一步來完成。






