春の学習(春の基本的なアプリケーション)

春とは何ですか

スプリングは、コンテナフレームの制御の軽量反転(IOC)と対向する部分(AOP)です。

Springフレームワークの利点

1.簡単なデカップリングは、簡素化の開発は:春は、あなたが作成し、春にはすべてのオブジェクトを取得するために管理さ依存性を維持することができ、大規模な工場です。

2. AOPプログラミングのサポートは:春はアスペクト指向プログラミングを提供し、あなたが簡単に傍受、監視操作およびその他の機能へのプログラムのアクセス許可を実装することができます。

3.宣言型トランザクションをサポートしています:唯一の構成管理を通じてマニュアルプログラミングを必要とせずにトランザクションを完了すること。

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

種々の優れたフレームワークを簡単に統合:春は、優れた内部フレーム(Struts2の、休止状態、MyBatisの、石英など)の多様を提供する優れたオープンソースのフレームワーク、様々なことを排除するものではありません。

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

春のアーキテクチャ

示されるように、機能要素の一連を含む階層型アーキテクチャを使用してスプリングフレームワークは、モジュールは、約20に分割されます。

 

1.コアコンテナ(コア容器)

スプリングのコアコンテナは、Beanによって構築された他のモジュール、コア(コアモジュール)、コンテキスト(文脈モジュール)をSpeI(表現言語モジュール)のための基礎です。

モジュール(1)豆:たBeanFactoryは、提供春豆と呼ばれるオブジェクトを管理する、古典的な工場パターンが達成されたです。

(2)コアのコアモジュールは:基本的なコンポーネントはIOCとDI機能を含む、Springフレームワークを持って提供します。

(3)コンテキストコンテキストモジュール:コアに基づいており、豆は、任意の利用可能なメディアオブジェクトにアクセスするために定義され、構成されたモジュールに基づいて得られます。ApplicationContextのインターフェイスは、あまりにもフォーカスコンテキストモジュールです。

(4)SPELモジュール:クエリおよび描画オブジェクトを操作するには非常に強力表現言語ランタイムました。

2. Webモジュール

春のWeb得られた層は、Web、サーブレット、Strutsの、ポートレット・アセンブリを備えます。

(1)Webモジュールは:マルチファイルアップロード機能、IOCコンテナの初期化とWebアプリケーションのコンテキストすぎるサーブレットリスナーの使用:統合された機能のような基本的なWeb開発を持っています。

(2)サーブレットモジュール:春モデル - ビュー - コントローラ(MVC)は、Webアプリケーションを実装します。

(3)のStrutsモジュール:古典的なStrutsのウェブ層を統合した、アプリケーションは春のサポートクラスを持っている含まれています。

(4)ポートレットモジュール:MVCの使用は、Webサーブレットモジュールの機能と同様ポートレット環境で実装提供します。

3.データアクセス/統合(データアクセス/統合)

データアクセス/統合層は、JDBC、ORM、OXM、JMSとトランザクションモジュールを含みます。

JDBCモジュール(1):大幅に開発中にデータベース・コードの動作を減らす、JDBC抽象化レイヤを提供します。

(2)ORMモジュール:マッピングAPI JPA、JDO、HibernateとiBatisの統合層人気オブジェクト・リレーショナルを提供含みます。

(3)OXMモジュール:それがサポートオブジェクト/ XMLマッピングはJAXB、ヒマシ油のXMLBeansを使用して、JiBXのとXStreamの抽象化層を実現提供します。

(4)JMSモジュールは:Javaメッセージサービスを指し、それは情報の生産と消費のための機能が含まれています。

(5)取引の取引モジュール:特別なインターフェイスクラスを達成するためのプログラミングと宣言型トランザクション管理のためのサポート、およびすべてのPOJOに適用されます。

4.その他のモジュール

(1)AOPモジュール:アスペクト指向プログラミングが提供され、方法は、定義及びインターセプタ開始点を可能にし、コードの結合を低減するために、関数によって分離しました。

(2)側面モジュール:AspectJの統合を提供する、強力で洗練されたアスペクト指向プログラミング(AOP)のフレームワークです。

(3)計測モジュール:クラスとクラスローダツールの実装のためのサポートは、特定のアプリケーション・サーバで使用することができる提供します。

(4)テストモジュール:_Spring_支持アセンブリ、使用又は試験_jUnit_ _TestNG_フレーム。

SpringのIoCコンテナ

1.たBeanFactory

たBeanFactoryがコンテナIOCのタイプの基本で、IOCは、完全なサービスサポートを提供します。ビーンたBeanFactoryはビーンのすべての種類を開始するための主に担当し、そのライフサイクル・アプローチを呼び出す管理プロジェクト、です。たBeanFactoryインタフェースには複数の実装があり、最も一般的なのは、XML設定ファイルの定義に基づいて、豆を組み立てることです。あなたがたBeanFactoryのインスタンスを作成するときは、設定の構文は以下の通りである:(あなたが理解できるように、この方法の開発が、ここでは稀である)情報の負荷を管理するために、通常、XMLファイルの形式でSpringコンテナで管理される詳細な設定情報などの情報を提供する必要があります

たBeanFactoryたBeanFactory = 新しい XmlBeanFactory( FileSystemResource( "F:/applicationContext.xml"));

2.のApplicationContext

ApplicationContextたBeanFactoryは、アプリケーション・コンテキストとして知られているサブインターフェースです。これは、たBeanFactoryのすべての機能を提供するだけでなく、複数のフレームワーク指向のアプローチでたBeanFactoryの機能を強化するだけでなく。主に階層的な継承関係を使用して、コンテキストクラスとパッケージのコンテキストとして、次のとおりです。

(1)MessageSource、I18Nメッセージへのアクセスを提供します。

(2)そのようなファイルやURLなどのリソースへのアクセス。

豆ApplicationListenerインタフェースを達成するために(3)イベント・デリバリー。

(4)それぞれが、ウェブのアプリケーション層として、特定のクラスレベルのコンテキストに焦点を当てたように(階層)コンテクストクラス、複数のロード。

以下のように、通常は2つの方法を使用して、ApplicationContextのインターフェイスのインスタンスを作成します。

(1)ClassPathXmlApplicationContext:クラス定義ファイルのパスリソースのコンテキストとしてパス定義されたXMLファイルからクラスローディングコンテキスト情報、。

ApplicationContextのApplicationContextの= 新しい ClassPathXmlApplicationContext( "applicationContext.xmlを");

(2)FileSystemXmlApplicationContext:コンテキスト定義情報を読み込むファイルシステム(指定されたパス)からXMLファイル。

ApplicationContextのApplicationContextの= 新しい FileSystemXmlApplicationContext( "F:\\ワークスペース\\ SRC \\ applicationContext.xmlを");

たBeanFactoryとApplicationContextの後に1が豆噴射がたBeanFactoryは、ロードに使用されている属性をしない場合は、これとは対照的に、ApplicationContextのは、より多くの拡張機能を提供し、XML Bean構成ファイルを介して、遅延ロードの主な利点をロードされ、最初の呼び出しgetBean()メソッドは、依存性注入するかどうかを確認するのに役立つ初期セルフテストにApplicationContextのながら、例外をスローします。そのため、実際の開発では、システムは通常のApplicationContextを使用することを選択したが、少ないシステムリソースがたBeanFactoryの使用を検討する前に存在した場合にのみ。

依存性注入

理解することができます:オブジェクトAのオブジェクトBが特定の機能を達成するために必要とされている場合は、あなたがオブジェクトを作成するときに、オブジェクトAがBのオブジェクト、A Springコンテナに依存していることを言うことができ、オブジェクトは自動的にB Aの目標噴射を持っている必要がありますこのプロセスの対象は、依存性注入です。オブジェクトはSpringフレームワークで作成されたときに依存注入効果が得られ、それは動的に取得Beanコンポーネントが対象に注入される依存します。

依存性の注入三つの方法

セッター注入(1):IOCコンテナインスタンスを使用して、セッターメソッドのための手段依存注射です。引数なしのコンストラクタまたは引数なしの静的ファクトリメソッドは、Beanのインスタンス化を呼び出すことにより、セッターメソッドの豆が呼び出され、セッターはDIに基づいて実現することができます。

(2)コンストラクタ注入:方法は、IOCを指すコンテナインスタンスが依存注射で使用するように構成されています。コンストラクタベースのDIは、それぞれの依存関係を表すパラメータでコンストラクタを呼び出すことにより達成されます。

(3)インタフェース注入:Springコンテナは、インタフェースの注入をサポートしていません。

 

 

 

 

 

 

 

参考:

戦闘チュートリアルを統合する1. SSHフレームワーク

継続的に更新!

おすすめ

転載: www.cnblogs.com/flyinghome/p/12550331.html