SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Spring Bootで作るマイクロサービス

Spring Bootで始める簡単Webプロジェクト~ひな型の作成からWeb APIの実装まで

Spring Bootで作るマイクロサービス 第2回


プロジェクトの構造

 Webツールを使っても、IDEを使ってもできあがるプロジェクトのディレクトリやファイル構造は同じため、どちらを使ってもその後の進め方や、メンテナンス方法が異なることはありせん。

 また、MavenとGradleのどちらの形式にするかは、利用者が好きな方を選んで問題ありません。筆者は、MavenでのXML形式よりもGradle形式の方が見やすく、そしてAndroidプロジェクトの場合にはGradleの方がよく利用されているといった理由から、Javaでのプロジェクト管理にはGradleを利用しています。

 Gradleの方がMavenよりも後発のため、同様の機能を持ちつつ、スクリプト形式を採用することで、XML形式より開発者がちょっとした作業を記述しやすくなっています。

 また、今後のサンプルなどはGradle形式で紹介していきますので、どちらにするか迷う場合には、Gradle形式を選択することをおすすめします。

Mavenを使ったときのプロジェクトの構造と実行までの流れ

 Maven形式でプロジェクトを作成すると、図4のディレクトリとファイルが作成されます。

図4:Maven形式でプロジェクトを作成したときのディレクトリとファイル一覧
図4:Maven形式でプロジェクトを作成したときのディレクトリとファイル一覧

 Maven形式でプロジェクトを作成しても、プロジェクト内にあるmvnwコマンドを使えば別途、Mavenをインストールする必要はありません。

 コンパイルやビルドなどは他のMavenでのタスクと同様に使えますが、Spring Bootのコードを実行する場合にはリスト1のようにspring-boot:runタスクで実行が可能です。

[リスト1]Mavenプロジェクトの場合の実行例
 ./mvnw spring-boot:run
[INFO] Scanning for projects...
[INFO]
[INFO] ---------------------< com.coltware.spring:demo2 >----------------------
[INFO] Building demo2 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
// ・・・省略
  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.1.1.RELEASE)

2018-12-23 17:28:28.783  INFO 17835 --- [           main] c.c.spring.demo2.Demo2Application        : Starting Demo2Application on musvia16.local with PID 17835
//  ・・・省略

Gradleを使ったときのプロジェクトの構造と実行までの流れ

 Gradle形式でプロジェクトを作成すると、図5のディレクトリとファイルが作成されます。

図5:Gradle形式でプロジェクトを作成したときのディレクトリとファイル一覧
図5:Gradle形式でプロジェクトを作成したときのディレクトリとファイル一覧

 GradleでもMavenと同様に、プロジェクト内にあるgradlewコマンドを使えば、別途、Gradleをインストールする必要はありません。

 また、コンパイルやビルドでも同様に、Spring Bootのコードを実行する場合にはリスト2のようにbootRunタスクで実行が可能です。

[リスト2]Gradleプロジェクトの場合の実行例
./gradlew bootRun
Downloading https://services.gradle.org/distributions/gradle-4.10.2-bin.zip
..........................................................................
// ・・・省略
> Task :bootRun
  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.1.1.RELEASE)

2018-12-23 17:31:04.441  INFO 17863 --- [           main] c.c.spring.demo2.Demo2Application        : Starting Demo2Application on musvia16.local with PID 17863
// ・・・省略

次のページ
Spring Bootで簡単なWeb APIを作成する

この記事は参考になりましたか?

Spring Bootで作るマイクロサービス連載記事一覧

もっと読む

この記事の著者

WINGSプロジェクト 小林 昌弘(コバヤシ マサヒロ)

WINGSプロジェクト について> 有限会社 WINGSプロジェクト が運営する、テクニカル執筆コミュニティ(代表 ...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/11380 2020/06/01 18:46

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー