理解と概要JavaEEの人気のあるオープンソースのフレームワーク

JavaEEのの枠組みの理解

                                                                                       まず、フレームワークは何ですか

    この問題を解決するためのソリューションの当社のソフトウェア開発フレームワーク、問題を解決するためのさまざまなフレームワークの人気の理解などMyBatisのフレームワークとして、異なっているが、プレゼンテーション層の問題を解決するための永続化層、springMVCフレームワークです。

フレーム自体が、それだけで、インスタンスの永続化層、プレゼンテーション層のために、構造がそうで合理的であるとすることができ、ビジネスを達成しながら、ビジネス層の実部が、また、いくつかのソリューションを提供していない独自の缶に機能していることに留意すべきです提供するために、プログラマ。そのため、フレームワークは、我々が使用することを半完成品、半完成品として理解することができ、その後、最終的には全体の機能にビジネス・ニーズ(すなわちプロジェクトの要件)を追加します。

そして、我々は目的のフレームワークは、実際には非常に簡単であるため、需要の実現に多くのエネルギーをもたらし、面倒な、達成するために複雑な基礎となるコードを気にすることなく、開発の効率を向上させることである使用します。

                                                                                      第二に、フレームワークは、私たちはどのような問題を解決することができます

問題を解決するためにどのようなフレームワークを理解するために、我々は最初の3層アーキテクチャを知っている必要があります。

    3層アーキテクチャ3層に分かれています。

       プレゼンテーション層:表示のためのデータ。

       ビジネス層:ビジネスニーズを扱います。

       永続性:はいとデータベースと対話します。

    これは、図3の上方に収載された位置と、フレーム内の3層アーキテクチャから見ることができます。これは、フレームワーク永続MyBatisのを見ることができるフレームワークであり、それはデータベースと相互作用;および下位ビット特別なSpringフレームワーク、それはいずれの層にも属していない、SPRINGMVCフレームは、プレゼンテーション層のフレームワークであり、プレゼンテーション層、です。

    一般的にこの図から誘導することができる、フレームは、彼らが層や物の特定の種類を解決するため、その職務は異なっています。

 

 

第三に、主流のフレームワークのいくつかの理解

    以下の特定のフレームワークを学んでいないように、我々は、特定のフレームワークの使用が比較されていたし、利点の深い理解を持ってすることは困難であるためにのみ、無効になる可能性があり、これらのフレームワークの私の一般的な理解について話すことができますその後の研究で、深い理解。

1 、Struts2のフレームワーク

    3層アーキテクチャのプレゼンテーション層でStruts2のフレームワークは、要求を処理するために、代わりに、サーブレット技術オフを使用することができる(例えば、形態、要求されたページ上に送信)フレームの前端部は、Struts2のプロセスであるように、サーバのフロントエンドにアクセスします。

     以下の図は、三層Struts2のフレームワーク内での位置を示しています。

    などの順方向リクエストパラメータへのアクセス、リダイレクト、キャリブレーションパラメータとして、ウェブ毎日の仕事については、サーブレット技術の使用は基本的に行うことができます。サーブレット技術の使用は、私たちの基本的なニーズを完了することができますので、なぜこのフレームワークStruts2のそれを使うのか?その理由は、Struts2のは、サーブレットの使用に比べて、独自の利点を持っていることである、Struts2の使用に、より便利には、多くのことは、私たちはそれを自動的に行う支援し、そしてそれStruts2のも、より高度なアーキテクチャやアイデアを持っています。

    歴史についてStruts2のフレームワークがあり、フレームワークのほとんどの性質上、異なるバージョン間での変更、基本的なバグ修正もありませんし、常に機能を改善し、また非常に興味深いですが、それとStruts2の以前のバージョンとの最大の違いは、技術的には何もStruts1ではありません関係、Strutsの歴史を持つ最初からいます。   

    年の初めには、Struts2のが特にStruts1火災、非常に広い使用していますが、この時、出てくるではないとき、著者Struts1非常に非常に使いやすいものの、Struts1時間ので、動揺したが、それはアーキテクチャに基づいており、すべての機能は、サーブレットで構成され、 Struts1著者ので、フレーム全体がスレッドで危険な状態にある原因Struts1ので、機能の多くを作成し、サーブレットスレッドセーフ、実装することはできません(これはサーブレットクラスの特定のサーブレット技術にはない意味しますが、)上この問題は非常に彼が新しいアーキテクチャに取り組んできた、動揺しています。彼らはフレームワークを開発したので、それと同時に、他のチームは非常に悩まさ、(、WebWorkのチームです)チームは、フロントエンド処理フレームワークを開発してきましたが、彼らは後に、彼らは、Strutsの欠陥を見ているにもありますサーブレット・テクノロジに基づいていますが、それらは、フィルタ(フィルタ)をベースとしている、そのようなフレームワークは、多くの柔軟性を設計されていますが、アーキテクチャ完全にスレッド安全性の問題のうちされます。しかし、Struts1フレームワークで満たされているその時、WebWorkのチームが出ない誰のプロモーションとのフレームワークを開発するために懸命に働きました。だから、WebWorkのは、一緒に仕事したい著者後Struts1を見つける方法を望んでいた、Strutsの作者は、この新しいフレームワークは、2はそうStruts2のフレームワークと、意気投合参照してください。Struts2の前身はWebWorkのである、とStruts1とStruts2の両方が、基本的に2つの異なるフレームワークであるので、彼らは彼らのアイデアがStruts1で実装したいの前に、もちろん、それはまた、著者Struts1た今Struts2の枠組みので、過去にStruts2のために持って来らフレームの強力な組み合わせであり、Struts1とWebWorkのの利点を統合します。 

2 、SpringMVC

    SpringMVC、MVCモデルを初めて目を学習するには、プレゼンテーション層のためのフレームワークは、一般的に、すなわち、このアーキテクチャ、MVCを行うためにMVCデザインモデルに適用されます。

        モデルMモデル:オブジェクトは、データをカプセル化するために、JavaBeanのJavaで実際にあります。

        Vビュービュー:JSP技術は、ディスプレイのために、技術やHTMLを指し、ここで、

        Cコントローラコントローラ:サーブレットのような、要求を受信するために使用することができる技術を指します。

    このJavaBeanのに応じて、カプセル化されたデータを取得するためにそのようなMVC設計モデル、要求が第1のコントローラ(コントローラ)に到達する手段、その再送要求リクエストを受信した後、コントローラは、要求を受信し、JavaBeanの(モデル)データ封入層サービスを呼び出すビジネスプロセス、ビジネス層であることと永続層は、データは、最終的にプログラムJSP(ビュー)に転送することができるJavaBeanの中にカプセル化することができるならば、データにアクセスすることができ、JSP示す結果はHTMLに応答して生成しますユーザーは、これは全体のMVCモデル、労働力の非常に明確な部門です。

    SpringMVCフレームは、対応するデータ表示JSPに転送することができ、それはリクエストパラメータを、要求を受け入れ得ることができるように設計されており、データをカプセル化されたMVCモデルを使用して、プレゼンテーション層におけるフレームです。同時に、それは春のフレームワークは、春のWebフローに統合された後継者に属し、また、軽量Webフレームワークです。SpringMVCは最後に、あなたが春の統合を支援することができますので、あなたも、(例えばStruts2のような)他のフレームワークを選択することができ、Web開発フレームワークを行うことを選択することができます。春のSpringMVCの一部、および春SpringMVCとの統合が容易に他のフレームワークと比較するので、しかし、SpringMVCはより有益な使用。

    SpringMVCは、フレームの中で最も主流の一つとなっている、とSpring3.0のリリースで、最高のMVCフレームワークになるために、完全にStruts2のを超えてきました。

    これは、任意のインターフェイスを実装することなく、要求を処理し、単純なJavaクラスをコントローラになるために作るために、アノテーションのセットを介してであり、我々はサーブレットを使用する場合は、必要があります継承のHttpServletまたはServletインタフェースを実装します。また、RESTfulなプログラミングスタイルの要求をサポートしています。

 

。3 、フレームと休止状態MyBatisの

Hibernateフレームワークは、過去DButilsは、データベース操作私たちを助けるのではなく、完全に自動化され、完全にオブジェクト指向の永続化フレームワークです。

以下の図は、三層Struts2のフレームワーク内での位置を示しています。

    あなたはSQL文を記述することなく達成するために、オブジェクト指向の方法を使用することができ、データベースを操作するために私たちを有効にします。Hibernateフレームワークを使用する利点。

    HibernateのORMフレーム、ORM(オブジェクトリレーショナルマッピング)すなわち、オブジェクト・リレーショナル・マッピングであり、テーブルは、オブジェクト名に対応する、請求項、すなわち、休止状態テーブルを構成するオブジェクトとデータテーブルの間のマッピング関係を設定ファイルを使用して具現化名前、オブジェクトプロパティテーブルに対応する列。

    休止状態と、MyBatisのフレームは、半自動化された永続化フレームワークでも、データベース操作を実行するために使用されます。休止フレームを比較すると、両方の異なる点がある同じポイントを持って、フレーム休止SQLステートメントはパッケージ化された、システムを改善するために、半自動MyBatisの、SQL手動で行うには、少し複雑になる一方で、それは、直接使用することができますが、クエリを回避する必要はありません。パフォーマンス。一方、MyBatisのは、手動でSQL文を書き、維持しやすいです。

開発プロジェクトでは、限りすることができますように基本的な実装にあまり関心のないHibernateフレームワークは、オブジェクトを管理するための、およびMyBatisのは、それらの間のマッピングを管理する必要があります。

     Hibernateは、よりコンパクトで、シンプルに比べ、MyBatisのを要約すると、特定のアクションは、私たち自身を完了する必要があります。

 

3 、春のフレームワーク

    スプリングは、IOC(制御反転制御の逆数)とコアのAOP(アスペクト指向プログラミングアスペクト指向プログラミング)、性能、層状のJava SE / EEアプリケーションのフルスタック(フルスタック)軽量オープンソースフレームワークであります層とビジネス層のトランザクション管理およびその他のエンタープライズアプリケーション技術永続化層MVCと春のJDBC、だけでなく、多くのよく知られたオープンソースのサードパーティ製のフレームワークやライブラリの統合は、JavaEEのオープンソースフレームワークを使用して最大規模のエンタープライズアプリケーションとなっています。

 

 

 

 

    この図から分かるように、スプリングがいずれにも属していない、それは3層アーキテクチャにわたる、アプリケーション・オブジェクトのライフサイクルを管理するために、IOCとAOPコンテナフレームワークのコアです。我々は、オブジェクトを作成する前に、一般的に新しい+コンストラクタによって要求され、各新しいものは、メモリ空間を開きますプロジェクトは、1000個のオブジェクトを使用していますもしそうなら、あなたは1000年のメモリ空間を開放する必要がありますが、特定の時間に、我々は可能性があります同時に、この1000ターゲットを必要としない、それはあなたが春のコンテナを使用している場合、それは自動的に私たちは同じのライフサイクルを管理するために、私たちは、Servletコンテナtomacatのように、これらのオブジェクトのライフサイクルを管理するのに役立ちます、リソースの無駄が生じていると思います。

    AOPの簡単な理解:私たちが学んだ前には、OOP(オブジェクト指向プログラミング)は、OOPでのいくつかの欠陥があるので、そうAOP(アスペクト指向プログラミング)とOOPサプリメントに行くので、AOPとOOPの関係がないということですそれは関係が含まれていますが、AOPはOOPを補完するものです。

    ばねの利点は、アセンブリの、ばねアセンブリのばねは、管理オブジェクトを指すこともあります。私たちのプロジェクトは、各クラス・オブジェクトが方法、そして最終的に機能を呼び出すためにオブジェクトによって生成されることによって理解することができます。スプリングは、プロジェクト管理クラスで使用することができ、これらのオブジェクトは、コンポーネントを知られており、相互に各オブジェクトによって実現アイテムは、アイテムがあったので、そのアセンブリのそれぞれ他の構成要素との間の呼び出しメソッド呼び出しになることができます。利点の成分は、このようにプログラムの間の結合を低減、部品と部品の間には関係がないことです。

    各モジュールのバネ構造:

 

4 、SpringBootフレームワーク

     SpringBootフレームワークをベースに、本質的には、SpringBoot春のフレームワークのSpring Frameworkの、その外観は、春のための春、SpringBootさらに、パッケージ内の欠点に代わるものですので、SpringBoot春を使用することがより簡単に行うには、SpringBootことができないがそうです。

     既存の春の欠点の簡単な理解は:;第二に、プロジェクトの管理がAに依存しているすべての時間を設定する必要はありません、Springフレームワークを使用する最初は、コンフィギュレーションの必要性が非常に煩雑であり、いくつかの設定に関係なく使用している人と同じではありません時間のかかるものの作品は、ビルド環境では、非互換性の問題をもたらす可能性がある、間違ったバージョンに依存してインポートライブラリ関連ライブラリを、分析し、調整する必要があります。

    SpringBootは、上述の問題の存在は、春のソリューションを調達しています。これは、開発者はビジネスロジックに集中することができます良いのお手伝いをするために、自動的にいくつかの固定構成の構成のアイデアを超える規則に基づいており、かつSpringBootスタート依存的で、持っていますこれらの機能の座標は、導入を容易にするため、一緒に包装し、いくつかのデフォルト機能を提供します。

    要約すると、SpringBootフレームワークはSpringの完璧のようなものとして理解することができ、それが春を補強する機能はありませんが、すぐに春を使用する方法を提供します。

 

                                                                                       IVの概要

    Java用(Strutsの、春、Hibernateは)より人気SSHで始まるWeb開発フレームワークは、後から後から春+ SpringMVC +休止状態に徐々にStruts2のSpringMVCを交換する、Struts2のにアップグレード/アーキテクチャをiBATISは。

    大型で交換する必要Hibernate設定、保守人件費の後、ゆっくりと、iBatisのからMyBatisのより強力な提供MyBatisの、同時に、その使いやすさを失わない、それは春+のためになり、その後、MyBatisのが登場し、iBatisの会社の枠組みの中で、より多くの人気のあるSpringMVC + MyBatisの、。    

    今、人気とSpringBootはSpringBoot + MyBatisの組織変更に始めた、とSpringCloudマイクロサービスフレームワークに基づいてSpringBootは、フレームワークの最前線となりました。

 

おすすめ

転載: www.cnblogs.com/xiaoxb17/p/12587028.html