春:概要

まず、春の開発を理解します

  春はオープンソースのフレームワークの春2003のJava開発フレームワーク、派生彼の本の専門家一対一のJ2EE開発・設計・試作にロッド・ジョンソンが定める哲学の一部で軽量な上昇です。作成したエンタープライズアプリケーション開発の複雑さに対処するように設計されています。フレームワークの主な利点の一つは、その階層化アーキテクチャは、階層化アーキテクチャは同様にJ2EEアプリケーション開発は、統合フレームワークを提供し、ユーザが使用するコンポーネントを選択することを可能にします。春は以前のみ可能EJBで物事を行うための基本的なJavaBeansを使用しています。しかし、Springの使用は、サーバー側の開発に限定されるものではありません。任意のJavaアプリケーションは、春の観点から単純、テスト容易性と疎結合から利益を得ることができます。コアは、コントロールの春反転(IOC)と対向する部分(AOP)です。簡潔には、スプリングは、層状するJavaSE / EEfullスタック(停止)軽量オープンソースフレームワークです。

第二に、春のアーキテクチャを理解します

  スプリングフレームワークは、次のモジュールに分散、20個の以上のモジュールに統合されています。

  • コアコンテナ(コアコンテナ)
  • データアクセス/統合(データアクセス/統合)レイヤ
  • ウェブ層
  • AOP(アスペクト指向プログラミング)モジュール
  • インプラント(計測)モジュール
  • メッセージング(メッセージング)
  • テスト(テスト)モジュール

  スプリングアーキテクチャは、以下に示すように:

  2.1、コアコンテナ 

Springのコアコンテナは春コア、春豆、春コンテキスト、春コンテキスト・サポートと春の式(文字列式言語)で構築された他のモジュールと他のモジュールのための基礎です。

  • スプリングコアモジュール:制御の反転(対照、IOCの反転)、および依存性注入(依存性注入、DI)機能を含むフレームワークの基本的な要素を提供します。
  • 春の豆モジュール:、たBeanFactoryを提供し、古典的なファクトリパターンの実装で、春には、ビーンと呼ばれるオブジェクトを管理します。
  • ばねコンテキストモジュール:コアと豆モジュールに基づいて、フレーム・オブジェクト・アクセス・モードでは、任意のオブジェクトへのアクセスは、媒体および構成を定義します。コンテキストは、フォーカスApplicationContextのインタフェースモジュールです。
  • キャッシングのための特定のサポートで、Springアプリケーションコンテキストに、サードパーティのライブラリを統合するための支援、(ehcacheを、JCacheの)およびタスクスケジューリング(のCommonJ、クォーツ)の:春コンテキストサポートモジュール。
  • 春発現モジュール:実行時にオブジェクトグラフを照会し、操作をサポートするために、強力な式言語を提供します。これは、JSP2.1仕様の統一式言語(統一EL)の規定の拡張されています。言語は、オブジェクトの名前を取得するために、IOC春容器からプロパティ値、特性分布、メソッド呼び出し、アクセスする配列、コレクションとインデクサ、論理および算術演算、および変数名を設定し、取得するためにサポートしています。また、リストの投影、選択、および一般的に使用される重合のリストをサポートしています。

  2.2、AOP和計装 

  • スプリングAOPモジュール一AOP要件アスペクト指向プログラミングを提供し、この方法は、定義エントリをきれいにデカップリングする機能コードによって分離され、インターセプタを指すことができます。
  • 春側面モジュール:AspectJのは強力かつ成熟したAOPフレームワークであり、AspectJのとの統合を提供します。
  • バネ装置モジュール:サポートとクラスローダは、特定のアプリケーションサーバで使用することができる実装するクラスのインプラント(計測)を提供します。

2.3、メッセージ

  アーキテクチャ及びメッセージングプロトコルのサポートを提供する新しいメッセージSpring4.0(春メッセージング)モジュール、後。

2.4、データアクセス/統合

  JDBC、ORM、OXM、JMS、およびトランザクション・モジュールのデータアクセス/統合層。

  • ばねJDBCモジュール:それは面倒なJDBCは、エラーコードを符号化し、特定のデータベースベンダーを解析排除、JDBC抽象化レイヤを提供します。
  • ばねORMモジュール:統合層は、人気のオブジェクト・リレーショナル・マッピング(オブジェクトリレーショナルマッピング)API、およびJPAのHibernateを含むを提供します。春ORMは、これらのモジュールを使用する他のすべての機能は、O / Rマッピングは、例えば宣言的トランザクション管理機能のために、Springフレームワークに関連して提供されることができます。
  • ばねOXMモジュール:例えばJAXB、ヒマシ油、JiBXのとXStreamの実装オブジェクト/ XMLマッピングをサポートする抽象化レイヤを提供します。
  • スプリングJMSモジュール(Javaのメッセージングサービス)メッセージの生成及び使用するための機能を含む、Javaのメッセージングサービスを意味します。Spring4.1ので、春・メッセージングモジュールとの統合を提供します。
  • 春-TXモジュール(トランザクションモジュール):すべてのPOJO(プレーン古いJavaオブジェクト)クラスのためのプログラムと宣言的トランザクション管理や特別なインタフェースを実装するためのサポート。

2.5、ウェブ

ウェブ層は春ウェブ、春webmvc、春のWebSocketとポートレットモジュールを作りました。

  • 春Webモジュール:このような複数ファイルのアップロード機能として、IOCコンテナとWebアプリケーションのコンテキストを初期化するためのサーブレットリスナーの使用を統合された機能の基本的なWeb開発を提供します。
  • 春webmvcモジュール:また、Webアプリケーションの実装のための春のMVCやREST Webサービスを備えたWeb-サーブレットモジュールとして知られています。Spring MVCのフレームワークは、Springフレームワークの他のすべての機能を持つドメインモデルのコードとWebフォーム、および統合の間に明確な分離を提供します。
  • 春のWebSocketモジュール:WebSocketのとSocketJSの実装を提供する新しいモジュール、後Spring4.0。
  • ポートレットモジュール:サーブレットモジュールと同様に達成するためにMVCポートレット内の環境を提供します。

2.6テスト

スプリングテストモジュールは、ユニットと統合テストのJUnitの又はTestNGのスプリング部品を支持しています。

第三に、利点と新機能の春の理解

  3.1、春の機能

(1)IOC(反転制御)またはDI(依存性注入):明確に定義されたコンポーネントのインターフェース、独立した個々の構成要素の開発し、実行依存性の構成要素を組み立て、容器を春にオブジェクトを作成および管理されると主張しました。春は、軽量コンテナ(軽量コンテナ)で、コアは、我々は(モデル)を必要とするMに構成された、豆植物(豆工場)です。これは、疎結合を維持するために一緒に働くソフトウェアコンポーネントを可能にします。ビジネスの複雑さを減らすことはコンポーネント間のデカップリングを向上させるために、またオブジェクト。

(2)AOP(アスペクト指向プログラミング):動的にソースコードを変更せず、統一機能を追加するためのプリコンパイルされたメソッドおよび動的エージェント動作プログラムによって技術を実装します。そのシステムレベルのサービスをコードから分離します。たとえば:ロギング、パフォーマンス統計、セキュリティ管理、トランザクション処理、例外処理コードは、ビジネス・ロジック・コードから分割されます。それはあなたがアプリケーション全体の機能全体で再利用可能なコンポーネントのフォームを分離することができます。

  3.2 Springフレームワークを使用するメリット

(1)制御の反転:コントロールの春反転が疎結合によって達成さ、オブジェクトではなく、それらを作成または依存オブジェクトを見つけ、それらの依存関係を与えられています。
(2)カット指向プログラミング(AOP):スプリング支持アスペクト指向プログラミングは、アプリケーションのビジネスロジックとシステムサービスを分離します。
(3)MVCフレームワーク:うまく設計されたフレームワークの春のWebフレームワークは、Webフレームワークの良い代替です。
(4)低侵入設計、コードを、汚染は、さまざまなアプリケーションサーバから独立して、本当にどこでも約束だ実行し、一度書く達成することができ、Springフレームワークをベースにしたアプリケーションは非常に低いです。
(5)強力な統合機能:優れたオープン・ソース・フレームワークの種々の統合。(Hibernateは、ストラットヘッセ、等)。
(6)例外処理:春のAPIが均一に未チェック例外に(例えばスローJDBC、休止状態またはJDOのような)特定の異常に関連する便利な技術を提供します。
(7)容器:春が含まれており、オブジェクトのアプリケーションと配置のライフサイクルを管理します。
(8)軽量:春は軽量であり、基本的なバージョンは約2MBです。

  3.3なぜ春を使うのか?

  • 便利なデカップリング、開発を簡素化します。

春はすべてのオブジェクトが作成され、春の経営陣に、依存性の関係を維持することができ、大規模な工場です。

  • AOPプログラミングのサポート

春はアスペクト指向プログラミングを提供し、あなたは簡単に傍受するプログラムの許可、操作の監視と他の機能を実装することができます。

  • 宣言型トランザクションのサポート

あなただけが手動でプログラミングすることなく、事務の構成管理を完了する必要があります。

  • テストプログラムを容易にするために、

Junit4サポートのための春、あなたは簡単に春のテストプログラムをコメントすることができます。

  • 優れたフレームワークの様々な容易な統合

(等Struts2の、Hibernateは、MyBatisの、石英など)の直接サポート:スプリングは優れた内部フレームワークを数多く提供して優れたオープンソースのフレームワーク、様々なことを排除するものではありません。

  • JavaEEのAPIの使用を削減することの難しさ

いくつかのAPIのJavaEE開発のための春(JDBC、JavaMailの、リモート呼び出しなど)を使用することは非常に困難であり、これらのAPIアプリケーションの難易度が大幅に減少するようにパッケージを提供します。

おすすめ

転載: www.cnblogs.com/BalmyLee/p/10936500.html