春、春のMVC、春ブーツ3つの比較

春、春のMVC、春ブーツ3つの比較


Springフレームワークは、家族のようで、そのようなので、上の起動、セキュリティ、JPA、およびなどのデリバティブ商品の数があります。しかし、彼らは、IOC IOC AOP春の基礎であり、断面がプログラミングを重視して、両方に基づいて、高度な機能は、他の製品に及ぶ達成するために解決するために、依存性注入コンテナAOPを提供します。Spring構成は、XML、JavaConfig、より面倒なヒンプロセスの様々な非常に複雑であるため、Spring MVCのMVCフレームワークは、大きな問題サーブレットのWEB開発に基づいています。だから、開発者の使用を簡素化する、これ創造導入春ブーツ、設定より規約するためには、春には、コンフィギュレーション・プロセスを簡素化します。

いくつかは、それがよりシンプルに置く:春の初めに「工場モデル」(DI)とアプリケーションコンポーネントを切り離す「エージェンシーモデル」(AOP)を使用します。私は、Webアプリケーションの開発(SpringMVC)と、ので、このモードアウトMVCフレームワーク(デカップリング部品の一部と春)で、非常に良い使用を感じます。その後、ワークフローを合理化するためには、定型的なコードの開発の多くを書くたびに、そこに発見され、その後、「怠惰な統合パッケージ」(スターター)の数を開発し、これは春ブーツです。

Spring MVCの機能

Spring MVCのは、Webアプリケーションを開発するためにカップルを緩くする方法を提供します。

春Spring MVCのは、モジュールがWebフレームです。ディスパッチャサーブレット、のModelAndViewおよびビューリゾルバ、簡単なWebアプリケーション開発によって。問題領域を解決するには、その上のアプリケーションやサービスの開発--urlルーティング、セッション、テンプレートエンジン、静的なWebリソース、およびのサイトです。

春のブート機能

春ブーツは、自動設定を実現する、構築されたプロジェクトの複雑さを軽減します。(以下のように構成よりも大会

我々はすべてのSpringフレームワークは、設定の多くを必要と知っているように、プロジェクトの設定は容易ように、春ブーツは、自動設定の概念が導入されました。春ブーツ自体はコア機能とSpringフレームワークの拡張機能を提供しますが、迅速なため、機敏なSpringフレームワークに基づいた新世代のアプリケーションを開発していません。それは春のアプローチに代わるものではありません、ですが、春の開発者の経験を持ち上げるためのSpringフレームワークと緊密に統合されたツール。同時にそれは、サードパーティのライブラリの一般的な設定の数が多い(例えばなどジャクソン、JDBC、モンゴ、Redisの、メール、)、これらのサードパーティのライブラリの春ブートアプリケーションボックスのほぼゼロコンフィグレーション(アウト・オブ・ザを統合しますボックス)、春のブートアプリケーションのほとんどは、唯一の開発者がビジネスロジックに集中することができ、構成コードの非常に少ない量を必要とします。

春ブーツはちょうどベアラは、プロジェクトを構築するプロセスを簡素化を支援します。キャリアはSpring MVCのMVCフレームワークとして使用して、WEBプロジェクトである場合は、作業のこの部分は、Spring MVCの春ブーツではなく行われるため、あなたとワークフロー上記のようにまったく同じです。

ユーザーのために、春のブートに切り替えた後、プロジェクトの初期化メソッドは、プロファイルが変更された、変更されている、他のはあなたの最も直接的に遊びがウェブサイトでアップ実行し、別のTomcatサーバこのような容器、Mavenのjarファイルのパケットをインストールする必要はありませんが、そのままコアビジネスロジックとビジネスプロセス。

だから、最も簡潔な言語でまとめています。

春は「エンジン」です。 

スプリングバネMVCフレームワークはMVCに基づいています。

春ブーツはSpring4が登録され統合されたパッケージを迅速に開発するための一連の条件に基づいています。

スプリング構成は、XMLの様々な非常に複雑であるため、特性がより面倒なプロセス。だから、開発者の使用を簡素化するために、春のコミュニティは創造春ブーツを立ち上げ、それが続く設定より規約従うマップと次、大幅に春用の閾値を、柔軟かつパワフルなオリジナルの春を減少させ、 3との間の関係を説明します。


 


概要:
春の初めにアプリケーションコンポーネントを分離する「工場モデル」(DI)と「代理店モデル」(AOP)を使用します。Webアプリケーションの開発(SpringMVC)と、このモデルアウトMVCフレームワーク(デカップリング部品の一部と春)によります。後で多くが依存の開発に従事することが判明し、定型コードの多くを書く、コードが肥大化し、面倒なので、巧妙な前任者は、いくつかの怠惰な統合パッケージ(スターター)をコンパイルするたびに、これは春ブーツです。

https://www.zhihu.com/question/64671972

リクエストのSpringMVC処理

 SpringMVCフレームワークは、Web要求駆動型のフレームワークであり、そして設計し、ページコントローラの要求マッピング規則」に応じて適切な処理に配布する「フロントエンドコントローラのモデルを使用して。

(A)全体のプロセス

 

 

具体的な手順:

        図1に示すように、まず、ユーザが要求---->フロントエンドコントローラ、コントローラは、ページ要求情報(例えば、URL)を選択決定するコントローラのフロントエンドを送信し、即ち論理コントローラの制御の前に、それに委託要求に従って処理しますセクション;図2-1のステップ2。

        2は、ページコントローラは、要求、処理関数を受けて、あなたはまず、オブジェクトは春のWeb MVCでのコマンドオブジェクトと呼ばれ、検証されるオブジェクトにパラメータを収集し、バインド要求する必要があり、その後、コマンドオブジェクトは、ビジネス・オブジェクトに委託します処理は、図2-1のステップ3,4,5、処理後のModelAndView(ビュー名と論理データ・モデル)を返します。

        図3に示すように、バックコントローラの制御の前端は、名前が返される論理ビューによれば、適切なビューがレンダリングされる選択し、レンダリングするためのモデルビューへのデータ;ステップ2-1、図6及び7;

        図4は、コントローラの先端が再び制御を取り戻すために、応答は、図3のステップにおいて、ユーザに返さ2-18;この全体を終了します。

 

(B)コアプロセス

 

 

ビッグピクチャー:数値の順序に注意してください。

 

具体的な手順:

        1、  首先用户发送请求——>DispatcherServlet,前端控制器收到请求后自己不进行处理,而是委托给其他的解析器进行处理,作为统一访问点,进行全局的流程控制;

       2、  DispatcherServlet——>HandlerMapping,HandlerMapping 将会把请求映射为 HandlerExecutionChain 对象(包含一个 Handler 处理器(页面控制器)对象、多个 HandlerInterceptor 拦截器)对象,通过这种策略模式,很容易添加新的映射策略;

       3、  DispatcherServlet——>HandlerAdapter,HandlerAdapter 将会把处理器包装为适配器,从而支持多种类型的处理器,即适配器设计模式的应用,从而很容易支持很多类型的处理器;

       4、  HandlerAdapter——>处理器功能处理方法的调用,HandlerAdapter 将会根据适配的结果调用真正的处理器的功能处理方法,完成功能处理;并返回一个 ModelAndView 对象(包含模型数据、逻辑视图名);

       5、  ModelAndView 的逻辑视图名——> ViewResolver, ViewResolver 将把逻辑视图名解析为具体的 View,通过这种策略模式,很容易更换其他视图技术;

       6、  View——>渲染,View 会根据传进来的 Model 模型数据进行渲染,此处的 Model 实际是一个 Map 数据结构,因此很容易支持其他视图技术;

       7、  返回控制权给 DispatcherServlet,由 DispatcherServlet 返回响应给用户,到此一个流程结束。

 (三)总结核心开发步骤

1、  DispatcherServlet 在 web.xml 中的部署描述,从而拦截请求到 Spring Web MVC

2、  HandlerMapping 的配置,从而将请求映射到处理器

3、  HandlerAdapter 的配置,从而支持多种类型的处理器

4、  ViewResolver 的配置,从而将逻辑视图名解析为具体视图技术

5、  处理器(页面控制器)的配置,从而进行功能处理 

原文:https://blog.csdn.net/zhaolijing2012/article/details/41596803

 

https://www.cnblogs.com/twoheads/p/10173961.html

おすすめ

転載: www.cnblogs.com/feng9exe/p/11266782.html