Spring Boot で Hello world

Spring Bootを体験してみました。

 

 

1. 開発環境の準備

Spring Bootは既存の開発環境に導入の一番簡単な方法として、Spring Bootが既に導入されている開発環境をダウンロードすることが挙げられます。

今回は以下のリンクからSpring Bootが含まれる最新版のEclipseをダウンロードすることとします。2018年の9月バージョンからはSpring Bootに関するプラグインがあらかじめ導入されていますのでそちらをダウンロードします。

 

mergedoc.osdn.jp

 

今回は以下のEclipse 2019-12を選択します。

 

f:id:lawrence-twin:20200305170301p:plain

 

今回は贅沢にMac 64 bit Full Edition(Ultimate)をダウンロードします。

ダウンロード容量が1.6GB(インストール後は2.5GB)あるので気を付けましょう。

f:id:lawrence-twin:20200305170346p:plain


早速インストールして利用を試みたところ以下のエラーが発生

f:id:lawrence-twin:20200305171143p:plain

 

Stack Over flowを確認すると同様の事象が発生する方がいらっしゃいました。

https://stackoverflow.com/questions/19551298/app-cant-be-opened-because-it-is-from-an-unidentified-developer 

 

System Prereferences > Security & PrivacyのGeneralタブのAllow apps downloaded from:のApp sotre and identified developers の右隣に「Open」ボタンがあります。(以下のスクショにはないですが)

このOpenを押すともう一度ダイアログが表示されるのでOpenを押すと無事Eclipseが起動できました。

f:id:lawrence-twin:20200305171413p:plain


 

さて、改めてプロジェクトの作成に入ります。

以下の通りプロジェクト作成を行い、「その他」を選択します。

f:id:lawrence-twin:20200305171904p:plain


一覧の中に「Spring Boot」>「Springスターター・プロジェクト」があるのでそちらをクリックします。

 

f:id:lawrence-twin:20200305172038p:plain

 

今回は初期設定で行きます。

Javaバージョンは8, 11, 13が選べますが8で行きます。業務では8 の経験しかないのでかなりレガシーですね。

f:id:lawrence-twin:20200305172425p:plain

 

今回は以下の3点を導入します。

・開発ツール > Spring Boot DevTools・・・開発に便利なモジュールが利用できる?

・テプンレートエンジン > Tymeleaf・・・純粋なHTMLで記述できる。

・Web > Spring Web・・・MVCを利用するために必要

※Spring Webは以前 Spring Web Starterという名称だったのですが、どうやら変更されているようです。

f:id:lawrence-twin:20200305173528p:plain


プロジェクトは作成されますが、入門コンテンツのインポートが走りますので多少時間がかかります。

f:id:lawrence-twin:20200305173956p:plain

 

 全てのダウンロードが完了すると、以下のとおりプロジェクトが出来上がります。

また、パッケージエクスプローラを確認するとsrc/main/javaの配下に「DemoApplication.java」というアプリが出来上がっていることがわかると思います。これはSpring Bootを動かすためのプログラムで特に編集は不要です。

f:id:lawrence-twin:20200305174427p:plain

まずはContollerを作成します。

DemoApplicationと同じディレクトリで新規Javaクラスを作成します。

f:id:lawrence-twin:20200305175700p:plain


Controllerには以下のとおり記述します。

アノテーション(@付きの宣言)を行うことでControllerクラスとして扱うことができます。

実装は、特定の文字列を返却するメソッドとします。

indexメソッドなのでlocalhost呼び出しで最初に呼ばれます。

f:id:lawrence-twin:20200305181559p:plain

 

今度はviewを作成します。

src/main/resourcesのtemplates配下にindex.htmlを選択して以下のとおりHTMLファイルを追加します。

f:id:lawrence-twin:20200305181859p:plain

 

実装は以下の通りとしました。

f:id:lawrence-twin:20200305182031p:plain

 

これで準備はOKです。

Spring Bootのプロジェクトで右クリックし、実行>Spring Bootアプリケーションを実行します。

f:id:lawrence-twin:20200305182134p:plain

 

これによりSpring bootを実行すると以下の通りコンソール上でSprbing Bootアプリケーションが起動します。昨日のブログにも記載しましたが、Spring BootはTomacatを内蔵しているためこれにより簡単にWebサーバが起動している状態です。

 

f:id:lawrence-twin:20200305182252p:plain

 

それではhttp://localhost:8080 に接続してみます。

h1タグで定義した文字列とControllerから受け取った"Hello Spring Boot!!!"も出力できることが確認できました。

f:id:lawrence-twin:20200305182539p:plain

 

今までの煩わしい操作がなくなったので、かなり便利になりました。

今後もSprging Bootを利用して何か1つWebアプリを作ってみたいですね。