ダウンロード サンプルファイル (72.5 KB)
前回、Spring Bootを使って簡単なサンプルを紹介しましたが、今までのJavaプログラムを知っている方にとっては非常に少ないコードで実行できることに驚いた方もいるかもしれません。また、実装部分のコードがPOJO(Plain Old Java Object)クラスになっていることに気がつく方も多いことでしょう。一方で実装しているコードにはアノテーションが記述されています。Spring Bootではこれらのアノテーションの意味は非常に大切になります。今回はSpring Bootを利用する上で知っておくべき、基本となる部分の仕組みを簡単なサンプルアプリケーションを通じて紹介します。
サンプルアプリケーションの概要
サンプルアプリケーションは図1に示すような簡単な住所録管理アプリケーションです。
このアプリケーションでは、表1のAPIを提供します。
| エンドポイント | HTTPメソッド | 概要 |
|---|---|---|
| /contact/add | POST | 新規に連絡先データを登録する |
| /contact/list | GET | 登録してあるデータ一覧を取得する |
| /contact/item/{id} | GET | 指定したidの連絡先データ情報を取得する |
| /contact/item/{id} | POST | 指定したidの連絡先データ情報を更新する |
| /contact/item/{id} | DELETE | 指定したidの連絡先データを削除する |
サンプルアプリケーションの実行方法
サンプルコードはSpring Bootのアプリケーション(sample/java以下)とHTMLやJavaScriptなどのWebリソース(sample/web以下)の2つに分かれています。
Webリソースは既にサーバ内にApacheなどの他のWebサーバが利用できるのであればそちらを利用するとよいでしょう。
HTML側はサンプルアプリケーションがあるサーバと同じ場所でなくても動作するようになっています。その場合には、アクセスできる場所に配置できれば、どのようなパスであっても問題ありません。
また、リスト1に記載されているAPIサーバへのアクセス先URLを変更してください。
window.api = "http://localhost:8081/contact";
利用できるWebサーバがない場合には、設定ファイルをリスト2のように変更することで、アプリケーション「Tomcat」を起動し、これを通じてアクセス可能です。
ただし、起動するポート番号を変更した場合には、前述したAPIサーバへのアクセス先URLも変更する必要があります。
app.web.prefix = /web app.web.resource = <sample/webのあるフォルダ> # 設定例 ( C:¥samples/web/ 以下にsample/web以下のHTMLソースを保存した時 ) # app.web.resource = file://C:/sample/web/ # tomcatを起動するポート server.port = 8081 # (以下、省略)
起動はリスト3のように行います。起動に成功したら、http://localhost:8081/web/index.htmlにアクセスしてください。
ただし、WebリソースはES6のコードを含んでいますので、最新のES6対応のブラウザ(ChromeやEdgeなど)を利用してください。
./gradlew bootRun ( MacやLinuxの場合 ) gradlew.bat bootRun ( Windowsの場合 )
[Note]Spring Bootを使ったサーバサイドHTMLアプリケーションについて
Spring BootでのJSPを使ったアプリケーションやHTMLテンプレートエンジンを使ったHTMLアプリケーションの開発も問題なく行えます。しかし、TomcatなどのWeb Application Server上で開発する方法に比べて実績やノウハウなどの情報は多くはありません。
また、Webサイトのように日々の編集運用が必要になるものをSpring Bootを用いて開発するメリットは筆者はあまり感じませんでした。
一方、Spring Bootが持つ他のサービスなどの自動設定機能を生かしたものとしては、筆者はマイクロサービスとして利用するAPIサーバなどが利用用途としてより適していると考えています。
そのため、サンプルアプリケーションもHTML側の実装について意図的に分離してあります。また、今回はHTML側の実装については趣旨からはずれるため説明は行いません。
サンプルコードのソースコード構造
サンプルアプリケーションがどのような動作をするのかがわかったところで、実際のソースコードの説明をしていきます。
ソースコードは図2に示すように大きくわけて4つのグループで構成されていますが、処理のメインなるAPI部分の実装は、ContactControllerのみとなっています。
しかしながら、処理のイメージがつかめないソースもいくつか存在しています。今回はソースコード全体にかかわる部分について紹介し、次回、個別の内容について紹介していきます。
この記事は参考になりましたか?
- 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編 」他、著書多数。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
