呉ユーキション - 自然JAVA SPRINGの研究ノートの開発のための自然なフレームワーク:春のIoCコンテナたBeanFactoryとApplicationContextの

プログラム開発中のIoC手段は、呼び出し側のインスタンスを作成し、もはや管理しませんが、Springコンテナによって作成されます。スプリングコンテナがプロセス制御との関係を担当する、直接プログラムコードによって制御されないであろうので、制御はスプリング容器内にプログラムコードによって転送され、逆の制御が起き、これがばねのIoCが考えられます。
ばねはそれぞれ二つのIoCコンテナを提供し、ApplicationContextのたBeanFactory
たBeanFactory 
たBeanFactoryはorg.springframework.beans.facytory.BeanFactoryインターフェースによって定義さIoCコンテナのタイプに基づいており、フルサービスのサポートのIoCを提供します。簡単に言えば、たBeanFactoryはビーンのすべての種類を開始するための主に責任がある管理対象Beanの植物であり、かつそのライフサイクル・アプローチを呼び出します。
たBeanFactoryインタフェースは、最も一般的にはorg.springframework.beans.factory.xml.XmlBeanFactoryで、それは定義によって豆XML設定ファイルをアセンブルされた複数の実装クラスをされています。
あなたがたBeanFactoryのインスタンスを作成するときは、Springコンテナで管理される詳細な構成情報、通常はXMLファイル管理の形でそのような情報を提供する必要があります。以下に示すように、コードは、ロードされた設定情報である
たBeanFactoryたBeanFactory = 新しい新しい XmlBeanFactory(新しい新しい FileSystemResource(「D://applicationContext.xml」));
ApplicationContextの
ApplicationContextのたBeanFactoryサブインターフェースは、アプリケーション・コンテキストと呼ばれています。インタフェースの完全なパスだけではなくたBeanFactoryのすべての機能を提供org.springframework.context.ApplicationContextも、I18N(国際化)、リソースへのアクセス、および他のイベントの広がりの良い面のサポートを追加しています。
次のように2つの共通のApplicationContextインタフェースの実装クラスがあります。
1 )ClassPathXmlApplicationContextの
クラスパスのApplicationContextの作業例を見つけてロードするためにXML構成ファイルを指定されたパスを見つけるためのクラスからクラス以下に示すように、完了しました。
ApplicationContextのApplicationContextの = 新しい新しいClassPathXmlApplicationContext(文字列configLocation); 
上記のコードでは、そのようなapplicationContext.xmlをとしてSpring構成ファイル用configLocationパラメータ名および場所。

2 )FileSystemXmlApplicationContextの
指定されたファイルシステムからクラスは、XML構成ファイルで指定されたパスを見つけるために、以下に示すように、完成されたApplicationContextの装填作業の例があります。
ApplicationContextのApplicationContextの =新しい新しいFileSystemXmlApplicationContext(文字列configLocation); 
それはClassPathXmlApplicationContextとの差である:設定ファイルを読み込む春、FileSystemXmlApplicationContextクラスパスからコンフィギュレーションファイルが、クラスパスを取得し、構成ファイル・パラメータで指定された場所を、読んでいません以下のような外部のリソース、 "F:。/workspaces/applicationContext.xml"
春のApplicationContextコンテナをインスタンス化することによって作成されたクラスのいずれかであることができるスプリングフレームワークを使用する場合。
通常のJavaプロジェクトでは、ClassPathXmlApplicationContextクラスによって使用されますが、むしろWebプロジェクトでは、インスタンス化作業のApplicationContextコンテナは、完全にWebサーバーと呼ばれる、ApplicationContextのコンテナをインスタンス化されます。:Webサーバの例としては、ApplicationContextのコンテナは、一般的に、唯一の次のコードベースを追加する必要があるのweb.xmlのContextLoaderListenerの実施例使用して実装される
 <! -春は、プロファイルの複数のプロファイルの位置を指定し、カンマで区切っ- > 
<コンテキスト-param>の
    の<param-name>のcontextConfigLocation </ PARAM名> 
    < - - applicationContext.xmlをバネ荷重春カタログ内のファイル!> 
    の<param-value>の
        CLASSPATH:春 / applicationContext.xmlを
     </ PARAM -value> 
</コンテキスト-param>の
<! -のContextLoaderListener方法Springコンテナを起動する指定- > 
<リスナー> 
    <
        org.springframework.web.context.ContextLoaderListener
     </ listener- クラス > 
</リスナー> 
なお、たBeanFactoryとApplicationContextのビーンは、XML設定ファイルを経由してロードされます。
一つの属性豆注入は、BeanFacotry負荷後に使用されていない場合の主な違いは、それであるgetBean()メソッドは例外をスローする最初の呼び出し、初期化中のApplicationContextセルフテストしながら、それが良好なチェックがされると属性の依存性注入かどうか。
そのため、実際の開発では、多くの場合のApplicationContextを使用することを選択したが、少ないシステムリソースがたBeanFactoryの使用を検討する前に存在した場合にのみ。

 

おすすめ

転載: www.cnblogs.com/tszr/p/12128814.html