エンジニアを目指す初学者に向けて、わかりやすく解説したブログです。
サイトをリニューアルしました

SpringBootでWebアプリケーション作成する前に知っておくべきこと

SpringBootはWebアプリケーションを作るためのフレームワークである。

今回は「SpringBootによる開発を行う前に知っておくと良いこと」を紹介する。

SpringBootとは

SpringBootとは「JavaでWebアプリケーションを作成するためのフレームワーク」である。

どんなプログラミング言語でも、ゼロからWebアプリケーションを作成するのは非常に大変なので
フレームワークというものを使って開発を効率化することが一般的。

JavaでWebアプリケーションを作ろうと思ったら、一番有名なものがSpringBootである。

特徴としては、アノテーション( @Hogeみたいな書き方)という機能を採用しており、
これを使うことでコードを書く量をかなり減らすことができる。

便利である一方、初心者にとってはこれが何をやってるか分からないという難解さにも繋がる。

MVCモデル

MVCモデルとは、考え方、設計思想の名前である。

  • Model(データを管理する)
  • View(画面の表示をする)
  • Controller(全体の処理の制御をする)

の頭文字を取ったもので、SpringBootを利用する上で重要な考え方である。

フレームワークを使う以上、この考え方に従って実装する必要がある。

Controller

Controllerでは主に、全体の処理の制御を行う。

具体的には

「特定のアドレスにアクセスしたときに実行される処理」

を制御する。

ドメインがexample.comのWebサービスに対して

  • example.com/top/にアクセスされたらトップページを表示する
  • example.com/api/userにアクセスされたら、内部のAPIを呼び出し、ユーザー一覧を返す
  • example.com/blog/にアクセスされたら、ブログページを表示する

などのコントロールを行う。

View

Viewは画面の表示を担当する。

具体的には「htmlファイルを作成する」という処理を担当する。

SpringBootでは、Thymeleafというテンプレートエンジンを使って
いろいろなデータをhtmlに埋め込み、それを画面として表示する場合が多い。

Model

Modelはデータの管理を担当する。

Webアプリケーションでは、データを使わないことなんてほとんどない。

大抵の場合、外部のAPIから取得したデータや
データベースから取得したデータをModelの内部で管理しておく。

つまり

特定のアドレスにアクセスがあったとき
Controllerが処理をし始め、Modelで管理されているデータを
JSON形式で返却する場合、それはWebAPIとなる。

特定のアドレスにアクセスがあったとき
Controllerが処理をし始め、Modelで管理されているデータを
Viewで管理しているhtmlに埋め込み、返却する場合、それはWebサイトとなる。

Mavenとは

SpringBootを扱う上でもう一つ覚えておくべきことがMavenである。

これは主にライブラリ管理のための仕組みで、 pom.xmlに使いたいライブラリを記述することで
それらがアプリケーション内部で使えるようになる。

Gradleも同じようなものである。

まとめ

  • SpringBootはJavaでWebアプリケーションを作るためのフレームワーク
  • MVCモデルという概念を元に実装する
  • Mavenを使う場合、必要なライブラリはpom.xmlで管理する