最新の安定バージョンについては、Spring Cli 0.9.0 を使用してください! |
新規プロジェクトの作成
spring boot new コマンドを使用すると、Spring Boot アプリケーションを簡単に作成できます。
このコマンドは、既存の完全に機能する Spring Boot アプリケーションのソースコードリポジトリからコンテンツをコピーして、新しいプロジェクトを作成します。
まず、--name オプションを指定します。これにより、テスト付きの基本的な RESTful Web アプリケーションが作成されます。--from オプションを使用して、Spring Data JPA や Spring Cloud Stream などのさまざまな機能を持つプロジェクトを作成することもできます。
さらにカスタマイズするには、--group、--artifact-id、--version や --package-name、--description などのさまざまなオプションを柔軟に指定できます。--package-name を提供すると、ソースコードリポジトリの複製後にコードがリファクタリングされます。
次のセクションでは、これらの各トピックについて詳しく説明します。
既存のアプリケーションにコードを追加する方法の詳細については、spring boot add およびユーザー定義コマンドのセクションを参照してください。
クイックスタート
新しいディレクトリに簡単な Web アプリケーションをすばやく作成するには、次のコマンドを実行します。
spring boot new my-app
cd my-app
./mnvw spring-boot:run これにより、"my-app" ディレクトリに基本的な Web アプリケーションが作成されます。この例では、--name オプションは位置的に渡されます ( spring boot new --name my-app と同等)。
現在の作業ディレクトリにプロジェクトを作成する場合は、名前として . を指定します。
mkdir my-new-app
cd my-new-app
spring boot new .
./mvnw spring-boot:run さまざまな機能を持つアプリケーションを作成するには、spring boot new my-app コマンドでオプション --from を使用します。--from は --name の後に来るため、位置パラメーターを使用できます。
例:
spring boot new my-app jpa
cd my-app
./mnvw spring-boot:runこのコマンドは、Spring Data JPA 機能を含む新しいアプリケーションを作成します。
上の例では、新しいアプリの名前 my-app と --from オプション jpa の両方が位置パラメーターとして指定されています。これは spring boot new --name my-app --from jpa を使用するのと同じです。
名前 jpa は、デフォルトの入門プロジェクトカタログに登録され、追加のメタデータを含む特定の URL のエイリアスとして機能します。これについては、次のセクションで詳しく説明します。
名前で作成する
プロジェクトカタログには、特定の Spring テクノロジを実証するコードリポジトリのリストが含まれています。デフォルトのプロジェクトカタログ内のリポジトリは、Spring スタートガイドの内容に似ており、さまざまな機能を提供します。
独自のカタログを登録して、さまざまな複雑さと機能のコードリポジトリを提供するオプションを利用できます。
プロジェクトカタログは、新しいプロジェクトに必要な機能を見つけるのに役立ちます。さらに、spring boot add コマンドを使用して既存のプロジェクトにコードを追加するときに、プロジェクトカタログからプロジェクト名を参照できます。
デフォルトの「入門」カタログに登録されているプロジェクトを表示するには、次のコマンドを実行します。
spring project-catalog list このコマンドは、spring boot new コマンドで使用できる利用可能なプロジェクトカタログを表示します。
┌────┬──────────────────────────────────────────────┬───────────────────────┬───────────────────┐
│Name│URL │Description │Tags │
├────┼──────────────────────────────────────────────┼───────────────────────┼───────────────────┤
│gs │https://github.com/rd-1-2022/spring-gs-catalog│Getting Started Catalog│[java-11, boot-2.7]│
└────┴──────────────────────────────────────────────┴───────────────────────┴───────────────────┘
```利用可能なプロジェクトを表示するには、次のコマンドを使用します。
spring project list このコマンドは、使用できるプロジェクトのリストを提供します。各プロジェクトには、spring boot new に渡すことができる名前があります。
┌─────────────┬────────────────────────────────────────────────────────┬─────────────────────┬───────┬───────────────┐
│Name │URL │Description │Catalog│Tags │
├─────────────┼────────────────────────────────────────────────────────┼─────────────────────┼───────┼───────────────┤
│web │https://github.com/rd-1-2022/rest-service │Hello, World RESTful │gs │[rest, web] │
│ │ │web service. │ │ │
├─────────────┼────────────────────────────────────────────────────────┼─────────────────────┼───────┼───────────────┤
│jpa │https://github.com/rd-1-2022/rpt-spring-data-jpa │Learn how to work │gs │[jpa, h2] │
│ │ │with JPA data │ │ │
│ │ │persistence using │ │ │
│ │ │Spring Data JPA. │ │ │
├─────────────┼────────────────────────────────────────────────────────┼─────────────────────┼───────┼───────────────┤
│scheduling │https://github.com/rd-1-2022/rpt-spring-scheduling-tasks│How to schedule tasks│gs │[scheduling] │
├─────────────┼────────────────────────────────────────────────────────┼─────────────────────┼───────┼───────────────┤
│config-client│https://github.com/rd-1-2022/rpt-config-client │Using the Config │gs │[config] │
│ │ │Client library │ │ │
├─────────────┼────────────────────────────────────────────────────────┼─────────────────────┼───────┼───────────────┤
│eureka │https://github.com/rd-1-2022/eureka │Spring Cloud Eureka │gs │[cloud, eureka]│
│ │ │Server │ │ │
├─────────────┼────────────────────────────────────────────────────────┼─────────────────────┼───────┼───────────────┤
│graphql │https://github.com/rd-1-2022/rpt-spring-graphql │Spring GraphQL │gs │[graphql] │
└─────────────┴────────────────────────────────────────────────────────┴─────────────────────┴───────┴───────────────┘Spring Data JPA を使用して新しいプロジェクトを作成するには、次のコマンドを実行します。
spring boot new my-jpa jpa このコマンドは、ソースコードリポジトリ URL github.com/rd-1-2022/rpt-spring-data-jpa (英語) のアプリケーションを使用します。
プロジェクトの名前をコマンド spring boot add の引数として使用することもできます |
URL による作成
プロジェクトを Spring CLI に追加して短い名前で参照する代わりに、プロジェクトのソースリポジトリの URL を直接使用できます。
例: Spring JPA プロジェクトを作成するには、次のコマンドを使用します。
spring boot new my-jpa https://github.com/rd-1-2022/rpt-spring-data-jpaオプション
spring boot new コマンドには次のオプションがあり、次のコマンドを実行すると確認できます。
spring boot new --helpどの表示が
NAME
boot new - Create a new Spring Boot project from an existing project
SYNOPSIS
boot new --from String --name String --group-id String --artifact-id String --version String --description String --package-name String --path String --help
OPTIONS
--name String
Name of the new project
[Mandatory]
--from String
Create project from existing project name or URL
[Optional]
--group-id String
Group ID of the new project
[Optional]
--artifact-id String
Artifact ID of the new project
[Optional]
--version String
Version of the new project
[Optional]
--description String
Description of the new project
[Optional]
--package-name String
Package name for the new project
[Optional]
--path String
Path to run the command in, most of the time this is not necessary to specify and the default value is the current working directory.
[Optional]
--help or -h
help for boot new
[Optional]オプションとデフォルト値
--name オプションのみを指定すると、artifactId はデフォルトで --name オプションの値になります。たとえば
spring boot new --name myapp
Cloning project from https://github.com/rd-1-2022/rest-service
Created project in directory 'myapp' 生成された pom.xml を調べると、プロジェクトの artifactId および name として myapp という名前が使用されています。
<groupId>com.example</groupId>
<artifactId>myapp</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>myapp</name>
<description>RESTful web application</description> オプション --groupid を追加すると、groupId タグの値だけでなく、パッケージ名も変更されます。新しいパッケージ名へのプロジェクトのリファクタリングが実行されます。例:
$ spring boot new --name myapp --group-id com.xkcd
Cloning project from https://github.com/rd-1-2022/rest-service
Refactoring package to com.xkcd.myapp
Created project in directory 'myapp' 生成された pom.xml には次の内容が含まれます
<groupId>com.xkcd</groupId>
<artifactId>myapp</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>myapp</name>
<description>RESTful web application</description>プロジェクトのディレクトリ構造は次のとおりです
$ tree myapp/
myapp/
├── LICENSE
├── mvnw
├── mvnw.cmd
├── pom.xml
├── README.adoc
└── src
├── main
│ └── java
│ └── com
│ └── xkcd
│ └── myapp
│ ├── Application.java
│ └── greeting
│ ├── GreetingController.java
│ └── Greeting.java
└── test
└── java
└── com
└── xkcd
└── myapp
└── greeting
└── GreetingControllerTests.java