Spring 5でできることは?4からの変更点や互換性について解説
この記事は「Javaで学習するSpringによるWebアプリ開発」というトレノキャンプのeラーニング講座を基に解説した記事です。
このシリーズの本記事以降では、実際の問い合わせアプリを動作させながらコーディングを行っていきますので、今回はまず問い合わせアプリのプロジェクトをEclipseにインポートし、実装を行う環境を整えていきます。
1.Gradleプロジェクトのインポート
プロジェクトのデータを準備できたら、Eclipseへインポートしていきます。
Eclipse 2019の環境構築の手順は下記の記事で解説しています。興味のある方は下記のリンクからご覧ください。
Java開発におすすめなIDEツールは?EclipseやVS Codeの特徴を比較
ツールバー「ファイル」から「インポート」を選択してください。
「インポート」ウィザードが表示されますので、「Gradle」というフォルダを展開し「既存のGradleプロジェクト」を選択後、「次へ」をクリックしてください。
「Gradleプロジェクトのインポート」画面になりますので、右上の「参照」をクリックします。
フォルダを選択する画面が開きますので、ダウンロードした資料の場所を開いてください。
さらにフォルダを開いていくと、WebBeginnerStarterフォルダがあります。こちらが今回インポートするプロジェクトのルートディレクトリになるので、このフォルダは開かずに、1回クリックしフォルダが選択された状態になったことを確認してから、右下の「フォルダーの選択」ボタンを押してください。
「プロジェクト・ルート・ディレクトリー」にパスが設定されていることを確認してから、「完了」を選択してください。
「完了」を選択してからしばらく待つと、パッケージ・エクスプローラー内に新たにWebBeginnerStarterプロジェクトが追加されます。
画像のように、プロジェクト名の右側に[boot]と表示されていたらインポート成功です。
2.プロジェクトの確認
このプロジェクトは既にSpring Bootアプリケーションとしての体裁を持っているため実行こそ可能ですが、問い合わせアプリとしては未完成の状態です。問い合わせアプリとして必要になるさまざまな機能は以降の記事で実装していきますので、まずはプロジェクトの中身を確認してみましょう。
パッケージ・エクスプローラーでディレクトリを展開することで、その中身を見ることができます。
src/main/javaディレクトリは、Javaのソースファイルを格納するディレクトリです。ここには、app、config、entity、repository、serviceパッケージが含まれます。この中のいくつかは既にこれまでのハンズオンで扱った物です。
続いて、src/main/resourcesディレクトリを見てみます。
templatesはHTMLファイルを格納する場所になっており、staticにはCSSやJavascriptが保存されています。
他に、ディレクトリ直下にはdata.sql、schema.sqlといったデータベースに関連したファイルも存在します。
最後、src/test/javaはテスト用のJavaソースファイルを置くための場所です。
また、さらに下にbuild.gradleというファイルがありますが、プロジェクトの依存関係などはすべてここに設定されています。今回はあまり意識しませんが、このようにライブラリの依存関係を一元管理したり、コンパイルを自動化するシステムのことを「ビルドツール」と呼びます。
それでは、インポートが完了できたら次の記事に進んでいきましょう。
第2章 Springの基本
以降アプリ制作を行うにあたって、Springを使う環境を作っていきましょう。
Gradleプロジェクトのインポート方法、プロジェクトを確認する方法を紹介します。
制作に慣れるため、SpringのMVCアーキテクチャの体験、データのブラウザへの出力を行いましょう。
それにともなって、ビルドツールの「Gradle」や記述方法の「アノテーション」、テンプレートエンジンの「Thymeleaf」についても解説していきます。
手順に沿ってデータをブラウザに出力していきましょう。
アノテーションの付与、リクエストスコープが実際どのように使われているのか、Thymeleafを使う際の注意点などを確認していきます。
Springからデータベースを操作する方法について確認します。
ここでは一番シンプルな、Controllerから直接データベースへアクセスしてデータを取得する処理を見ていきましょう。
実際にデータベースを操作します。
データベースのアクセスに用いるSpringJDBCクラスの使われ方を確認しましょう。