Spring Frameworkとは
Spring Bootより先に,よく似た言葉であるSpring Frameworkについて説明する.
○Spring Frameworkとは
Spring Frameworkとは,企業レベルのJavaアプリケーションの開発するための包括的なオープンソースのフレームワークであり,特にWebアプリケーションの開発に必要となるさまざまな機能を提供している.JavaのWebアプリケーション開発の標準となっていて,Javaのフレームワークの"集合体"ともいうことができる.
○Spring Frameworkの欠点
Spring Frameworkはさまざまな機能が提供されている反面で,機能が多すぎる,設定が複雑,環境構築に手間と時間が掛かるといった,簡単なWebアプリケーションを作るのには少し使いづらいという欠点がある.
SpringBootとは
Spring Bootは先ほど挙げた欠点を解消するために,Spring Frameworkの一部の機能を取り出して作られたフレームワークである.つまり,Spring BootはSpring Frameworkを,より簡単にWebアプリケーションを作れるようにしたものであると言える.
SpringBootのMVC
Spring BootはSpring MVCというMVCモデルを構築する別のフレームワークを含んでいるので,MVCモデルのWebアプリケーションの開発を行うことができる.
Spring Bootを使わずにMVCモデルを構築する場合は,ServletやJSP,Java Beansなどの技術を利用することでMVCモデルを構築する.Spring Bootは,MVCモデルをサポートするための機能を提供しており,これらの技術を利用しなくてもMVCモデルの実装を簡素化することができる.
このように,Spring BootはMVCを提供しているため,フロントエンドとバックエンドの両方の実装ができる.しかし,Spring bootのフロントエンド機能はあくまで限定的である.ReactやAngularなどのフロントエンドフレームワークと組み合わせることによって,より複雑なアプリケーションの構築が可能である.
Spring Bootアプリケーションのプロジェクト作成
ここでは,EclipseでSpring Bootアプリケーションを作成する方法について説明する.
(開発環境はMacOS を使用.)
0.Java(JDK)とEclipse(IDE)をインストール
環境構築として,Eclipse上でJavaの開発が行えるようにする.
1.Spring Tool Suite(STS)のインストール
Spring Tool Suite(STS)はEclipseでSpringのフレームワークを利用するための拡張機能である.これをEclipseにインストールすることで簡単にSpring Bootアプリケーションを開発することができる.
〜以下からプロジェクトの作成〜
2.ファイル→新規→Springスタータープロジェクト(Spring Initializr)を選択
-
サービスURL
参照するプロジェクトの初期化ツールまたはリソースの参照先を指定する.
初期値にはhttps://start.spring.io
が指定されており,これは「Spring Initializr」というウェブサイトにアクセスし,プロジェクトの初期設定を行ってくれる.(基本的にそのままでいい) -
名前
プロジェクトの名前を指定する. -
タイプ
Javaプロジェクトの依存関係管理やビルド自動化を行うためのビルドツールを指定する."Maven"か"Gradle"を選択できる. -
Javaのバージョン
開発に利用するJavaのバージョンを指定する.インストールしているJavaを選択する. -
パッケージング
プロジェクトの実行・配布する際の方式を指定する."Jar"または"War"を指定できるが,Webアプリなら"War"選ぶ. -
言語
開発に利用するプログラム言語を指定する.
4. 依存関係の設定
以下の2つを指定して,完了でプロジェクトの作成が完了する.
-
Spring Bootバージョン
利用するSpring Bootフレームワークのバージョンを指定する. -
使用する機能の設定
Spring Bootが提供している機能から実際に利用するものを選ぶ.
上記の2つに関しては,ビルドツールのファイルに記入すれば変更可能.
(Maven→pom.xml,Gradle→build.gradle)
MVCの記述方法
Spring Bootを利用したMVCについて,それぞれの記述方法は別の記事にまとめました.