Java
spring
spring-boot

Spring 5 & Spring Boot 2ハンズオン準備手順

2018-11-27 Spring 5.1 + Spring Boot 2.1にアップグレードしました!

ハンズオンでは、下記の準備が済んでいるご自身のノートPCをお持ちください。

何か準備について不明点がありましたら、Twitterで僕のアカウント@suke_masaまでリプライかDMをいただければお答えします!

スライドのダウンロード

最初の30分間で利用する、Spring概要講義の資料です。後のハンズオンでも参考にするために、下記のURLから手元にダウンロードしておくと便利です。
https://www.slideshare.net/masatoshitada7/pivotalspring-framework-51-spring-boot-21-jjugccc

事前にインストールするもの

PCは64ビットOSでメモリ4GB以上を推奨します。OSはWindows/macOS/LinuxのいずれでもOKです。

  • JDK 11
    • ZuluやAdoptOpenJDKなど、どのビルドでもおそらく動くと思いますが、僕はリンク先にあるOracleビルドのOpenJDKを利用しています
    • 環境変数JAVA_HOMEおよびPATHを設定してください
    • IDEにもJDK 11を設定しておいてください
  • IDE(下記2点のいずれか)
    • IntelliJ IDEA
      • Ultimate Editionを推奨しますが、Community EditionでもOKです
    • Pleiades All in OneのEclipse 2018-09版
      • [Java]の[Standard Edition]でOKです
      • 通常のEclipseやSpring Tool Suiteは、JDK 11関連の設定やプラグインの追加が煩雑なため、Pleiades All in Oneをお勧めします
    • IDEは最新版をインストールしてください。古いバージョンの場合、JDK 11に対応していなかったり、JUnit 5で記述しているテストが実行できないことがあります。
    • 文字コードはUTF-8に設定してください。
  • curlコマンド(演習6のみ)
    • Windowsの場合は http://www.paehl.com/open_source/ から「CURL 7.xx.x」の「Download WITHOUT SSL」を選択してダウンロードし、環境変数PATHを設定しておいてください。
    • macOSの場合はデフォルトでインストール済みです。
  • jqコマンド(演習6のみ)
    • Windowsの場合は https://stedolan.github.io/jq/download/ からダウンロードし、ファイル名を「jq.exe」に変更後、環境変数PATHを設定しておいてください。
    • macOSの場合はHomebrewコマンド brew install jq でインストールできます。

データベースおよびアプリケーションサーバーは、組み込みのもの(H2、Embedded Tomcat)を使うのでインストールの必要はありません。

ソースコードのクローン

下記のコマンドで、GitHubからクローンしてください。

$ git clone https://github.com/MasatoshiTada/spring5-boot2-handson.git

ソースコードのインポート(Eclipseの場合)

(1) Eclipseを起動します。
(2) [ファイル]-[インポート]を選択します。
(3) [Maven]-[既存Mavenプロジェクト]を選択して[次へ]を選択します。

eclipse01.PNG

(4) [ルート・ディレクトリー]の[参照]ボタンをクリックして、クローンした[spring5-boot2-handson]フォルダを選択します。

eclipse02.PNG

(5) [01-spring5]・[02-spring5-answer]・[03-boot2]・[04-boot2-answer]の4つのプロジェクトがすべて表示され、チェックが入っていることを確かめて[完了]を選択します。

eclipse03.PNG

(6) プロジェクトのインポートが始まります。Maven Centralからライブラリのダウンロードを行うため、しばらく時間がかかります。

ソースコードのインポート(IntelliJ IDEAの場合)

(1) IntelliJ IDEAを起動し、[Import Project]を選択します。

スクリーンショット 2018-07-08 17.23.48.png

(2) クローンした[spring5-boot2-handson]フォルダを選択します。

idea01.png

(3) [Import project from external model]-[Maven]を選択して[Next]を選択します。

スクリーンショット 2018-07-08 17.05.08.png

(4) [Search for projects recursively]にチェックを入れて[Next]を選択します。

スクリーンショット 2018-07-08 17.06.29.png

次の(5)の前に下記のような画面が出たら、そのまま[Next]を選択してください。そうすると、(5)の画面になります。

スクリーンショット 2018-12-10 10.32.04.png

(5) [01-spring5]・[02-spring5-answer]・[03-boot2]・[04-boot2-answer]の4つのプロジェクトがすべて表示され、チェックが入っていることを確かめて[Next]を選択します。

上記4つのプロジェクトが一覧に表示されていない場合、(2)で選択したフォルダが間違っている可能性があります

スクリーンショット 2018-07-08 17.19.55.png

(6) そのまま[Finish]を選択します。

スクリーンショット 2018-07-08 17.23.02.png

(7) プロジェクトのインポートが始まります。Maven Centralからライブラリのダウンロードを行うため、しばらく時間がかかります。

解答例の実行確認

(1) 02-spring5-answerプロジェクトのcom.example.Mainクラスにmain()メソッドがあるので、実行してください。

Eclipseの場合、[Run As]-[Java Application]で実行してください。

(2) コンソールを確認してください。スタックトレースなどが出ておらず、最後に「情報: Starting ProtocolHandler ["http-nio-8080"]」と表示されていれば、組み込みTomcatがポート番号8080で正しく起動しています。

スクリーンショット 2018-07-08 18.17.35.png

(3) Webブラウザで http://localhost:8080/sample/ にアクセスします。ログイン画面が表示されるので、メールアドレス admin@example.com 、パスワード admin でログインしてください。

(4) 下記のように、5人分の顧客情報が表示されれば成功です。

スクリーンショット 2018-07-08 18.20.43.png

(5) main()メソッドを停止してください。これで準備手順は以上です。

ハンズオンの開始

(1) まずはスライドを一通り読んでください。

(2) 01-spring5/todo-1.mdが演習1の手順です。