初めに
この記事は主に同期に対してSpringを紹介するために作成されました。
なるべく楽をしながらSpringと仲良くなるのが目的ですので、網羅的な説明は極力避け、目的を達成する手段が幾つかある中から、その内の1つを学ぶ形式で進みます。
また、記事中には正確性に欠ける表現が出現しますが、これも上記と同じ理由です。
対象レベルと目標レベル
以下のように対象レベルと目標レベルを設定しています。
- 対象: JDBC・Servlet・JSPで簡単なWebアプリが作成できるがSpringは未経験の人
- プログラミング初心者
- Javaの基礎を習得済み
- MySQLを標準設定でインストールできる
- SQLで簡単なクエリを書いて実行できる
- JDBCに触れた事がある
- Servlet/JSPに触れた事がある
- 目標: Springで簡単なWebアプリが作成できる状態
環境
統合開発環境(IDE, Integrated Development Environtment)はEclipseを使います。
Eclipseの環境構築については解説が沢山あるので、まだEclipseを持っていない人はそれらを参考に準備してください。
- Pleiades All in One Eclipse 2021-03
プロジェクトの作成
早速、Spring Initializrでプロジェクトのひな形を作成しましょう。
プロジェクトに必要な設定はURLに埋め込む事で既に完了しているので、以下のURLを開きGENERATE
ボタンからプロジェクトのZIPファイルをダウンロードできます。
解凍
ダウンロードしたZIPファイルをtrain-with-spring
ディレクトリに解凍すると以下のような形になります。
以降はこのtrain-with-spring
ディレクトリをプロジェクトルートと呼びます。
train-with-spring
|-- .mvn/
|-- src/
|-- .gitignore
|-- HELP.md
|-- mvnw
|-- mnvw.cmd
|-- pom.xml
Dependencies (依存関係)
ここは必要無ければ飛ばしてください。
簡単にこのプロジェクトで用いる依存関係について説明しておきます。
プロジェクトでの依存関係とは、プロジェクトを作る上で前提とするライブラリの事です。
- Spring Web
Webアプリを作るのに必要です。 - Spring Data JPA
Springでデータベースを扱う際に役に立ちます。 - H2 Database
MySQL等のDBMSが用意されていない環境でもこのチュートリアルを実行できるように、仮のデータベースを用意します。 - Thymeleaf
役割はJSPと全く同じです。テンプレートエンジンと呼ばれ、SpringではJSPよりも此方が推奨されています。 - Lombok
アノテーションライブラリという種別の物で、様々な機能を@Getter
等と一言書くだけで自動実装してくれます。 - Validation
フォームに入力されたデータに制約(例えば文字数制限とか)を掛けるために使います。
Eclipseにプロジェクトをインポート
Eclipseを開いて、上部メニューのファイル(F) ⇒ インポート(I)...
から、
インポート・ウィザードでMaven ⇒ 既存のMavenプロジェクト
を選び、
出現したウィンドウで**ルート・ディレクトリー(I)**に先ほど解凍して作成したプロジェクトルートを指定して、完了ボタンを押します。
プロジェクトが完全に読み込まれると、Eclipseのパッケージ・エクスプローラーに次のように表示されます。
train-with-spring [boot]
|-- src/main/java
|-- src/main/resources
|-- src/test/java
|-- JRE システム・ライブラリー [JavaSE-11]
|-- Maven 依存関係
|-- bin
|-- src
|-- target
|-- HELP.md
|-- mvnw
|-- mvnw.cmd
|-- pom.xml
実行
これでアプリケーションを起動できるようになったので、
プロジェクト名を右クリックして出て来るメニューから実行 ⇒ Spring Boot アプリケーション
を選んで実行してください。
初期設定ではhttp://localhost:8080で立ち上がったWebアプリに接続可能です!
Whitelabel Error Page
現在はテンプレートもコントローラーも何も無いアプリケーションなので、接続してもページが見つからない(404 Not Found
)事を示すエラーページが表示されます。
まとめ
今回はプロジェクトのセットアップについて学びました。
以降は今回作ったプロジェクトを基準にSpringの基本を学んでいきます。
次回は画面遷移について学びます。