SHOEISHA iD

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

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

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

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

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


  • X ポスト
  • このエントリーをはてなブックマークに追加

 Spring Bootの利点は、プロジェクトの作成から、実行、配布までが簡単にできることです。しかし、フレームワークを使う場合にいざプロジェクトを作ろうとしても、一体何から始めればよいのか、わからないことがあります。今回は、Spring Bootでのプロジェクトの作成方法から簡単なWeb APIの実装を通じてSpring Bootでの開発の流れを紹介します。

  • X ポスト
  • このエントリーをはてなブックマークに追加

プロジェクトの概要

 最近のフレームワークでは、フレームワーク自身のツールでプロジェクトを始めることもよくありますが、Javaの場合には、既に広く普及しているMavenGradleといったプロジェクト管理ツールがあります。

 プロジェクトの管理はMavenもしくはGradleを使います。MavenやGradleは便利ですが、最初からプロジェクトを作るというと少々気が重くなります。

 しかし、Spring Bootではプロジェクトのひな型を作成するツールが用意されていて、必要な機能を選択しながら進められるので簡単に作成することができます。

 一度プロジェクトを作成してしまえば、Maven、もしくはGradle形式であるため、既にJava開発に慣れている方にとって非常にメリットがあり、初心者から上級者まで扱いやすくなっています。

プロジェクトの作成

 簡単にプロジェクトを始めるには、いくつか方法があります。

  1. Spring Initializr (Webツール)からプロジェクトのひな型をダウンロードする
  2. IDE(EclipseやIntelliJなど)を使ったウィザード形式

Webツールを使ったプロジェクトの始め方

 Spring Bootでプロジェクトを始める際に環境に依存しない方法を望むのであれば、Spring Initializrで提供しているWebサービスを使用する方法があります。

 Spring Initializrにブラウザでアクセスすると、図1のように最低限の入力でプロジェクトを作成することが可能です。

図1:Spring Initializr(簡易版)を用いたプロジェクトひな型の作成
図1:Spring Initializr(簡易版)を用いたプロジェクトひな型の作成

 また、画面下部の「Switch to the full version」をクリックすると、図2のようにフォームが表示されます。これは、各項目について詳細に指定したい場合に利用できるので、より詳細にカスタマイズしたい方はこちらのモードが使えます。

図2:Spring Initializr(フルバージョン)を用いたプロジェクトひな型の作成
図2:Spring Initializr(フルバージョン)を用いたプロジェクトひな型の作成

 これらで指定する項目は、表1に示す内容を設定します。各項目はMavenでプロジェクトを作成する際に記述するpom.xmlの内容とほぼ同じになっています。

表1:プロジェクト作成時に選択もしくは入力する項目
項目名 説明
プロジェクトタイプ MavenもしくはGradleのいずれかのタイプを選択します。
言語 Java以外にもKotlinやGroovyなどが選択できます。ここではJavaを選択します。
バージョン バージョンは1.5.xと2.0.x、2.1.xなどがありますが、これからプロジェクトを始める場合には、2.1以降を選択します。
Group グループ(プロジェクトのグループ名。通常、プロジェクトのルートパッケージ名)を設定します。
Artifact プロジェクト名に相当するパッケージ名を指定します。
Name プロジェクトの表示名(Mavenの場合)とmainプログラムのクラス名としても使われます。Artifactと同じ名称を使用することを推奨します。
Description プロジェクトの説明を入力します。
Package Name プロジェクトのパッケージ名。通常は、Groupで指定したパッケージとArtifactで指定した名称で構成されます。
Packaging  パッケージする方法をJarもしくはWarのいずれかを選択します。通常はJarを選択しますが、作成されたものを別のWebコンテナなどで稼動させる場合にはWarを選択します。
Java Version Javaのバージョンを指定します。
Selected Dependencies  使用する各種機能を指定します。実際には、Spring BootでのStarterを指定しています。

 今回のサンプルでは、Webアプリケーションを作成することを前提としています。そのため、依存する機能として「Web」を選択するようにしてください。実際には必要な依存分をすべて追加していきますが、後から追加や変更も簡単なため、この時点ではあまり気にせず進めて問題はありません。

 項目の入力が終了したら、「Generate Project」ボタンを押すと、プロジェクトのひな型ファイルがZipファイルとしてダウンロードできます。

 また、ダウンロードしたファイルを解凍し、IDEにインポートして利用する流れになります。

IDEを使ったプロジェクトの始め方

 IDEを使って開発をしている場合には、IDEのプラグインを使えばWebツールを使わずに直接IDE上でプロジェクトを作成できます。作成の手順とUIは多少異なりますが、入力もしくは選択する項目は同じです。

 Eclipseの場合には、Spring用のプラグインのSpring Tools 4(2018/12/23現在 4.1.0.RELEASE)を追加します。

 ダウンロードしてインストールすることも可能ですが、Eclipse Marketplace(Help -> Eclipse Marketplaceを選択)からインストールすることも可能です。

 また、Spring Toolsを使ってSpring Bootのプロジェクトを作成しているときの画面が図3です。

図3:Eclipseのプラグイン(Spring Tools)を用いたプロジェクトひな型の作成
図3:Eclipseのプラグイン(Spring Tools)を用いたプロジェクトひな型の作成

 筆者はIntelliJ IDEAを主に使っています。有償版であるUltimate版の場合にはデフォルトでSpring Boot用のプラグインがインストールされていますが、Community版では同じプラグインは用意されていません。

 代わりに、Spring AssistantというプラグインをインストールすることでEclipseのプラグインと同様の流れでプロジェクトを作成可能です。

 また、Net Beansでは、NB SpringBootというプラグインで同様のことができます。

次のページ
プロジェクトの構造

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

  • X ポスト
  • このエントリーをはてなブックマークに追加
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本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

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

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

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/11380 2020/06/01 18:46

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング