🧭 はじめに
前回は Struts2 の MVC モデル全体像について解説しました。
今回はその中でも 「Model」層 に焦点をあてて、役割や構成要素、
そして本プロジェクトでの具体的な活用例を紹介します。
Model層の主な構成要素
💡 Model 層とは?
Model 層は、アプリケーションの「データの管理とビジネスロジック」を担当します。
具体的には次の2つの要素に分けられます。
💡 DAOの役割
DAO(Data Access Object)は、データベースとのやりとりを担うクラスで、SQL文の組み立て・実行や結果セットの処理を行います。
💡 JavaBeansの役割
JavaBeansは、プロパティ(データ)に対してgetter/setterを使ってアクセスするシンプルなJavaオブジェクトです。
✅ DAO(Data Access Object)
DAO は、データベース操作を担うクラスです。以下のような責務があります:
- SQL 文の組み立て・実行(SELECT / INSERT / UPDATE / DELETE)
- JDBC や ORマッパー(MyBatis など)との連携
- 結果セットの処理・オブジェクト変換
💡 DAO の目的は「ビジネスロジックとDBアクセスを分離する」ことです。
👉 本プロジェクトでは:
/dao
配下に DAO クラスを配置し、
ユーザー・スレッド・投稿などの DB 操作を集約しています。
✅ JavaBeans(または DTO)
JavaBeans は、データ構造を保持するだけのシンプルな Java オブジェクトです。
public class User {
private int userId;
private String username;
// getter / setter
}
主な特徴は以下の通り:
-
各プロパティへのアクセスは getter / setter を通じて行う
-
引数なしコンストラクタを持つ
-
Serializable に対応可能(必要に応じて)
👉 本プロジェクトでは:
User.java のようなクラスを利用し、
画面表示用や DAO とのデータ受け渡しに活用しています。
例えば:
-
ユーザー情報を保持する User.java
-
掲示板スレッドを保持する Thread.java
-
投稿情報を保持する Post.java
などが存在し、全体のデータ処理をスムーズにしています。
User.javaは、ログインユーザーや投稿者情報など、本プロジェクトの多くの機能で利用される基盤的なJavaBeanです。
📝 Model 層のポイントまとめ
要素 | 役割 | 本プロジェクトの使用場所 |
---|---|---|
DAO | DB操作を抽象化・集約 |
/dao 配下の UserDao.java など |
JavaBeans | データ構造の保持 |
/model 配下の User.java , Thread.java など |
🚩 次回予告
次回は「Vol.7.2:Struts2 における Controller(コントローラ)の責務」について解説予定です。
POJOベースで構成される Struts2 の Action クラスの特性を活かし、
シンプルかつ柔軟なコントローラ設計を紐解いていきます!