mcpField
C
create-spring-boot-kotlin-project

create-spring-boot-kotlin-project

github.com/github開発40.5k8.7k 回インストール今日更新
リポジトリ

create-spring-boot-kotlin-project について

Java 21 で Kotlin の Spring Boot プロジェクトを作成するための手順型プロンプトです。テンプレート取得と環境設定を案内し、Docker Compose でデータベースと Redis のサービスを用意します。

主な機能

  1. 01Kotlin プロジェクトテンプレートの取得
  2. 02WebFlux とデータ依存関係の設定
  3. 03SpringDoc と ArchUnit の追加
  4. 04Redis、PostgreSQL、MongoDB の設定
  5. 05Gradle テストと任意サービスの実行

活用シーン

  1. 01新しい Kotlin Spring Boot プロジェクトの雛形作成
  2. 02ローカルのデータベースと Redis の準備
  3. 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 にマウント
  • .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 でサービスを停止します。

これをステップバイステップで進めましょう。

コメント