Spring、SpringMVC和SpringBoot

1.コンセプト

1、春

Springは、Webレイヤー、ビジネスレイヤー、DAOレイヤー、永続化レイヤーのコンポーネントを引き継ぐことができるオープンソースコンテナーフレームワークであり、さまざまなBeanを構成し、BeanとBean間の関係を維持できます。中心となるのは、制御の反転(IOC)とアスペクト指向(AOP)です。これは、単に層状の軽量なオープンソースフレームワークです。

2、SpringMVC

Spring MVCは、SpringFrameWorkのフォローアップ製品に属し、Spring Web Flowに統合されています。SpringMVCは、サーブレット(プロセス|リクエストへの応答、フォームパラメータの取得、フォーム検証など)を置き換えるために使用されるWebレイヤーのmvcフレームワークです。SpringMVCはMVCオープンソースフレームワークであり、SpringMVC = struts2 + spring、springMVCはStruts2とSpring統合。

3、スプリングブート

Springbootは、Springフレームワークの中核的なアイデアであるIOCおよびAOPを継続して、アプリケーションの開発とデプロイメントを簡素化するマイクロサービスフレームワークです。Spring Bootは、Springアプリケーションの作成、操作、デバッグ、およびデプロイメントを単純化しているように見えます。これを使用すると、XMLの構成にあまり注意を払うことなく、Springアプリケーションの開発に集中できます。一連の依存関係パッケージを提供し、使用習慣に従って依存関係の問題を解決しました--->習慣は慣例よりも大きくなっています。

第二に、原理と構造

1.春の原理と構成

開発作業を簡素化するために、Springは、すぐに使用できる一連のコンポーネント関数モジュールをカプセル化します。これには、Spring JDBC、Spring MVC、Spring Security、Spring AOP、Spring ORM、Spring Testなどが含まれます。以下に示すように:

 

 

簡略化された理解図:

 

2. SpringMVCの原理と構成

上の図からわかるように、SpringMVCはSpringWebの機能モジュール(SpringWebMVC)です。Spring Webプロジェクトの開発専用のMVCパターンのテクニカルフレームワーク実装。原則は次のとおりです。

 

 

MVC:モデル(モデル)、VIew(ビュー)、コントローラー(コントローラー)。初期のライザーSturts1、Sturts2など、javaWeb開発を学ぶことから、MVCのこの種のアーキテクチャを最初から知っています。

3. Spring Bootの原理と特徴

Spring Bootこれは基本的にSpringフレームワークの拡張であり、Springアプリケーションをセットアップする必要がなくなりXML配置、より高速で効率的な開発エコシステムへの道を開きます。

Spring Bootいくつかの機能:

  1. スタンドアロンspringアプリケーションを作成します。
  2. 組み込みTomcat、  JettyUndertow それらを展開する必要はありません。
  3. 「スターター」ポンを提供してMaven構成を簡素化
  4. 可能な場合は常にspringアプリを自動的に構成します。
  5. 生産指標、堅牢な検査、外部構成を提供
  6. コード生成とXML構成の要件はまったくありません

構成と構造は次のとおりです。

 

 

図から、Spring BootにはSpringのコア(IOC)と(AOP)が含まれ、Staterなどのいくつかの拡張機能がカプセル化されていることがわかります。

 

 

3.相違点と要約

1.簡単な理解:SpringにはSpring MVCが含まれ、Spring BootにはSpringが含まれるか、Springに基づく拡張機能です。

 

 

 

2.関係はおそらく次のようになります。

春mvc <春<春ブーツ

 

3、Spring Boot 比較のSpringいくつかの利点は次のとおりです。

  • 埋め込みコンテナサポートを提供する
  • コマンドjava -jarを使用して、jarを個別に実行します。
  • 外部コンテナーにデプロイする場合、jarの競合の可能性を回避するために依存関係を除外することを選択できます
  • 展開中の構成ファイルオプションの柔軟な構成
  • 統合テスト用のランダムポート生成

4.まとめ

Spring BootそれはSpringそれ自体の拡張であり、開発、テスト、およびデプロイメントをより便利にします。

 

おすすめ

転載: www.cnblogs.com/dd1992dd/p/12757492.html