SpringMVC 3 層アーキテクチャの詳細な説明

Java SpringMVCdのエンジニアリング構造は大きく分けて3層に分かれており、上からModel(モデル、データベースアクセス層)/Cotroller層(コントロール、ロジック制御層)、View層(ビュー、ページ表示層)、およびモデル層 2 つの層に分けられます: dao 層とサービス層. MVC アーキテクチャの階層化の主な理由は、コード間の結合を減らすことです。階層化されたアーキテクチャを採用する利点は、システムの階層化がシステムの保守とシステムの拡張に役立つという点で一般的に認められています。システムの保守性と拡張性を高めることです。

Spring のようなフレームワークの場合、(ViewWeb) プレゼンテーション レイヤーはコントロール レイヤー (Controller) を呼び出し、コントロール レイヤーは (Service) を呼び出し、ビジネスはデータベース アクセス レイヤー (dao) を呼び出します。

 

サービス層: ビジネス ロジックを実装するために使用されるビジネス層。dao レイヤーまたはサービス レイヤーを呼び出すことができ、データ オブジェクト DO またはビジネス オブジェクト BO を返すことができます. BO は通常、DO から変換および統合され、複数の DO の属性、または 1 つの DO の属性の一部のみを含むことができます。通常、簡単にするために、変換する必要がない場合、サービスは DO を直接返すこともできます。外部呼び出し (HTTP、RPC) メソッドもこのレイヤーにあります. 外部呼び出しの場合、サービスは通常、外部呼び出しによって返された DTO を BO に変換します. ビジネス ロジックに重点を置いており、必要なすべてのデータベース操作は Dao を通じて実装されます。接続の取得、データベース接続のクローズ、トランザクションのロールバックなどの一部のビジネス処理を主に担当し、一部の複雑な論理ビジネス処理はサービス層に配置されます。

DAO 層: データ操作のためにデータベースにアクセスし、結果セットを取得し、結果セット内のデータを抽出して VO オブジェクトにカプセル化し、それらをサービス層に返す役割を担います。データ層は、データベースの読み取りおよび書き込み操作を直接実行し、データベース テーブルに 1 つずつ対応するデータ オブジェクト DO を返します。Dao の役割は、データベースへのアクセスをカプセル化することです。追加、削除、変更、およびチェックにはビジネス ロジックは関与しませんが、特定の条件に従って特定のデータを取得するという要件を満たすだけです。

コントローラ層: コントロール層と呼ばれ、主な機能はユーザーから送信されたリクエストを処理することです。主に外部からのリクエストを処理します。サービス層を呼び出し、サービス層から返された BO/DO を DTO/VO に変換し、統一された戻りオブジェクトにカプセル化して呼び出し元に返します。返されたデータがフロントエンド テンプレートのレンダリングに使用される場合は VO を返し、それ以外の場合は通常 DTO を返します。DTO であろうと VO であろうと、BO/DO のデータの何らかの変換と統合が一般的に実行されます。

ビュー層: 表示層と呼ばれ、主に実際のデータを担当します。

実際の開発では、dao レイヤーは、デカップリングのために、まず独自の動作標準、つまり標準インターフェイスを定義する必要があります。

おすすめ

転載: blog.csdn.net/m0_67094505/article/details/127898526
おすすめ