mmts1007’s diary

プログラミング関連の技術系ブログです。

Java Spring Boot その6

前回のモック部分を DB 接続に変更します。
その前に、今回使う DB、O/R マッパーや概念の説明を先にします。

DB, O/Rマッパーについて

DB は H2、O/R マッパーは Spring Data JPA を使用します。

O/R マッパーというのは DB のデータをオブジェクトにマッピングするためのライブラリです。
DB のデータを Java のクラス、オブジェクトとして扱うためのライブラリだと思ってください。

JPAJava Persistence API の略で、Java の O/R マッパーの仕様です。
Spring Data JPAJPA を拡張したライブラリです。

クラス構成

また、今回は下記の通りクラスを分割し、責務を分散します。

エンティティ

DB の情報を Java オブジェクトに表したもの テーブルがクラス、カラムがフィールドになっている。

リポジトリ

エンティティを登録、検索などといった処理を担うクラス。DB のデータを取得し、エンティティへマッピングする処理等を行う。
DB からのデータ取得方法などはリポジトリクラスに隠蔽させる。

サービス

ビジネスロジックを記述する。リポジトリを使用してデータの取得等もこのクラスが行う。

コントローラ

リクエストをマッピングするクラス
サービスクラスを利用してリクエストに必要な処理を実行する。

MVC のレイヤーと、処理内容を表にすると

  リクエスト 処理 DB
アプリケーション層 コントローラ
ドメイン サービス
ドメイン リポジトリ
ドメイン エンティティ

だと私は考えています。※あくまで私の考えです。

今回はここまで。実際のソースは次の記事で。