JAVA共通リアフレームSSM、MyBatisの、ダボ、RabbitMQの、Redisの、ドッカー

01はじめに

Javaフレームワークは、常に必要な知識を面接し、成熟した大企業、急成長中の企業または企業の立ち上げ段階では、システムの全体的な知識は現在開発中である持っていることができるかどうか、Javaフレームワークを習得されていますとても良く知っていて、学習技術のように、脂肪のこの資料では、この段階でのフレームワークのいくつかの人気の組み合わせを導入する予定で、開発の伝統的なビジネス分野やインターネットの発展に、これらのタイプは、比較的共通のフレームワークです内かどうか、する必要がありますA。

02 3層アーキテクチャ

フレームは最初のWeb開発アーキテクチャの一般的な分野での3つの部分に分けることになる、ということは明らかである必要が言えば:プレゼンテーション層、永続化層、ビジネス層、アーキテクチャ全体を3つのレベルに分かれている理由、主な目的は、システム全体がよりにすることですそれぞれの層は、それ自身の内部のもののみに関心あるように、分かりやすく、デカップリングのシステムによって行われたタスクの割り当てを持っている、ちょうど上層に気づいていない、根本的があることを知っています。料理人、レジ係、その職務として、レストランのウェイターのように、全体的な目的に影響を与えることなく、部分的な変化を達成すると、システムが秩序実行を継続することができます。以下に示すように3層アーキテクチャ(図では、データアクセス層は、永続性は、本明細書にあります)。


ここでは簡単な3層アーキテクチャです。

1.プレゼンテーション層

プレゼンテーション層は、実際には、ユーザインターフェースの表示層を見ることができますが、その役割はとてもシンプルなだけでディスプレイインタフェースではなく、3つのことを行う必要があります。

バックエンドサーバーとの対話インターフェースからのデータで作られた
バックエンドとの相互作用の後にデータバインディングの
データがバインドされたページで提示され
、一般的に、この層はMVCデザインパターンを採用する、Mモデルは、エンティティクラスと呼ばれていますデータのカプセル化、およびデータの送信のために; Vは、ページアセンブリ、表示するためのデータであり、Cは、制御フローのためのイベントの流れを制御することです。

2.ビジネス・レイヤー

この層の主な機能は、それが層と永続化層との間の通信ブリッジであるので、それはデータの転送及び処理のために主に責任がある、特定の運用上の問題の数を達成することです。

一般に論理サービス層に対応する毎日の開発コード、認証データベースに関連するいくつかの複雑なロジックおよびデータのために、この層の処理を行う必要があり、着信値、又は処理に基づいて、ユーザが所望の値を返します関連事業。

3.持続性

また、名前が示すように、この層は、実際にデータベースレベルで直接扱っている、データアクセス層として知られ、データベースへの追加や削除は、データベース接続を介して検索を変更するために渡された値に基づいて。

03フレームの組み合わせ

各トップレベルのアーキテクチャについては、現在、フィールドでのWeb開発は、このようなプレゼンテーション層としていくつかの優れたフレームワークを持っているStructs2などSpringMVC、永続層にHibernate、MyBatisの、などだけでなく、ビジネス層は、Springフレームワークを持っていますが、厳密に言えば、春はプロジェクトごとに各企業では、彼らのニーズに応じて異なる処理を運用レベルがなる、統合されたフレームワークです。プロジェクトの開発では、いくつかのようなフレームワークが広く組み合わせて使用​​されているがあります。

1.SSHフレームアセンブリ

MVC、Strutsフレームワークのモデル部分の分離を担当するシステムの全体インフラとして支柱と支柱、春三のHibernateフレームワークを含むSSHフレームアセンブリは、ビジネスの制御が使用同時に、のサポートを提供するために、永続層のフレームワークHibernateは、ジャンプしますスプリングストラットと休止状態を使用して、フレームワークは、以下のように解釈されます。

Strutsのフレームワーク

支柱フレームワークは、サーブレット、データビューとの相互作用のモデルを確立するための制御装置(コントローラ)としてMVCデザインパターン、Struts2のと本質的に等価であるMVCデザインパターンに基づいて、Webアプリケーションフレームワークです。

、これは、2つのバージョンStruts1とStruts2の、二つの違いが含まれていますが、それはまだ、大きくなっているStruts2のはStruts1を更新していないが、これらの二つの技術Struts1とWebWorkのを最大限に活用し、それが元Struts1の欠点を放棄しましたWeb開発が容易になります。

Springフレームワーク

我々はすべて知っている必要があるときに基本を知る、最も伝統的には、JavaのWebアプリケーションを使用することで、JSP、サーブレット、JavaBeanのは、最も基本的なMVC層状構造を実現するために実装され、このモデルはプログラムショーの受信JSP責任になり、責任プロセス制御ロジックは、データのカプセル化とサーブレットJavaBeanのために責任があるが、そのようなJSPページの構造などの問題があった計算大量の作業を担当する組込みJavaコードのシンボル、混乱のページ構造、およびサーブレットJavaBeanのの多くを必要とし、カップリングをジャンプ近くに、複雑な手順と低コスト。

コンテナに完全にコンフィギュレーション・ファイルによって置き換えられ、すべてのクラス間のこの依存関係に、AOPとIOCの二つの主要な特性を祝福することにより、この問題を解決するためのSpringフレームワーク、そしてよく管理エンティティBeanの出現そのような結合が大きく、大幅に向上再利用性を低減します。

Hibernateのフレームワーク

伝統的な永続化フレームワークは、データベースにアクセスするためのJavaのJDBC接続と操作に基づいている、あなたは、ヒトまたはSQLコード、データの大規模な番号を記入する必要があり、また、大規模なプロジェクトのために、実際には、噂に変換した後に得られたか、パッケージ化する必要がありますはじめにこれは非常に面倒なプロセスです。

フレームワークは半自動永続化フレームワークであるHibernateに、コードの準備をSQLの多くを減らすことはできない、と私たちは関連する操作を必要とするとき、このフレームワークでは、ワークロードの大部分をカットし、もはや関係データベーステーブルについてはする必要はありませんちょうどCRUD機能を完了するために、永続クラスによって、行ずつするデータベースを照会し、内部フレームワークは、データベースの多くの方法の操作を実施してきたので、私達はちょうど行うために呼び出すことができます永続クラスの両方で動作します。

2.SSMフレームアセンブリ

もう一つの人気の組み合わせを含むフレームワークSSMフレームワークであり、SpringMVC、春、全体としてSpringMVCの基本的な枠組み、別々のMVCレベルでMyBatisの3つのフレームワーク、永続層のフレームワークは、データベースと対話するMyBatisのように、データにアクセスして操作するための責任があり、 SpringMVC、MyBatisの詳細にばねブリッジ依然としてなど二つのフレーム、処理ロジックは、データ転送トランザクションとしてまま、次のばねを省略し、次のように

SpringMVCフレームワーク

SpringMVCとStruts2のフレームワークは、プレゼンテーション層に属しているが、それは固有の利点を持っているSpringMVCを行い、Springフレームワークの一部であり、それは機能の設定における心の春のシンプルな平和を継続するだけでなく、シームレスな春は、作るいるので、セキュリティが大幅に保証されています。一方SpringMVCは、ビジネスデータのビュー連結の対象業務データの処理と表示を軽減する方法です。この問題を解決するために、開発者はよりシンプルになってきていることができ、大きな問題を解決しました。

MyBatisのフレームワーク

MyBatisのは、ほぼすべてのJDBCコードとマニュアル設定パラメータのを避けるため、複雑な結果セットを取得するには、カスタムSQL、ストアドプロシージャと高度なマッピングをサポートしている優れた永続化フレームワークです。これは、インターフェイスをマップするために、単純なXMLまたは注釈ネイティブな構成とマッピング情報を使用することができ、およびJavaは、データベースのレコードに反対します。

休止状態は確かに良いですが、MyBatisのと比較して、それはいくつかの複雑なSQLのため、開発者は手動でいくつかのコードを書くことを好むのではなく、特定のHQL書かれた言語で、あまりにも剛性の包装ですが、これは間接的にワークロードが増加しますそして、MyBatisのが良く、コストが休止状態よりもはるかに低いですが、私は認めなければならない一つのことは、オープンソースコミュニティにHibernateの数はMyBatisの圧延するために、結局、外国人の大物の多くは、まだ休止状態を使用するように学び、始める、後者は探検するために詳細に探索することができます。
----------------
免責事項:この記事はCSDNブロガー「Qqun954715313「オリジナル記事です、BY-SAの著作権契約CC 4.0に従って、再現し、元のソースのリンクと、この文を添付してください。 。
オリジナルリンクします。https://blog.csdn.net/Qqun954715313/article/details/100568366

おすすめ

転載: www.cnblogs.com/spark9988/p/11516908.html