create-spring-boot-kotlin-project について
Java 21 で Kotlin の Spring Boot プロジェクトを作成するための手順型プロンプトです。テンプレート取得と環境設定を案内し、Docker Compose でデータベースと Redis のサービスを用意します。
主な機能
- 01Kotlin プロジェクトテンプレートの取得
- 02WebFlux とデータ依存関係の設定
- 03SpringDoc と ArchUnit の追加
- 04Redis、PostgreSQL、MongoDB の設定
- 05Gradle テストと任意サービスの実行
活用シーン
- 01新しい Kotlin Spring Boot プロジェクトの雛形作成
- 02ローカルのデータベースと Redis の準備
- 03Gradle テストによるプロジェクト確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ github/ awesome-copilot --skill create-spring-boot-kotlin-projectインストール後、Claude Code で/create-spring-boot-kotlin-projectを入力して読み込まれたか確認します。
詳細
Spring Boot Kotlin プロジェクト作成プロンプト
-
システムに以下のソフトウェアがインストールされていることを確認してください:
- Java 21
- Docker
- Docker Compose
-
プロジェクト名をカスタマイズする必要がある場合は、download-spring-boot-project-template の
artifactIdとpackageNameを変更してください -
Spring Boot のバージョンを更新する必要がある場合は、download-spring-boot-project-template の
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 サービスには以下が必要です
-
.gitignoreファイルにredis_data、postgres_data、mongo_dataディレクトリを追加します -
gradle clean test コマンドを実行し、プロジェクトが動作するか確認します
./gradlew clean test
- (オプション)
docker-compose up -dでサービスを起動し、./gradlew spring-boot:runで Spring Boot プロジェクトを実行し、docker-compose rm -sfでサービスを停止します。
これをステップバイステップで進めましょう。
コメント
Markdown 対応