春シリーズII:IoCコンテナ

私たちは決して結婚し、会うだろうとき6月にも真珠は、切断します。
ここに画像を挿入説明

アウトライン

Spring IoC容器は、Springコアフレームワーク。単純なコンテナの設定が必要です、あなたは、オブジェクト、使用オブジェクトを作成作成から対象オブジェクトの破壊に、ライフサイクル全体を管理するために一緒にオブジェクトを破壊することができます。Spring依存性注入コンテナを(使用するDIアプリケーションコンポーネントを管理します)。

春はコンテナの2種類が用意されています。

  1. BeanFactory 容器
  2. ApplicationContext 容器

たBeanFactory

BeanFactory本質的に植物の高レベルのインタフェースであり、植物は異なる維持することができるbeanとオブジェクトの依存性。

BeanFactoryだから我々が読むことができるということbeanの定義と使用beanしてアクセスするためのプラントを

InputStream is = new FileInputStream("beans.xml");
BeanFactory factory = new XmlBeanFactory(is);

//Get bean
HelloWorld obj = (HelloWorld) factory.getBean("helloWorld");

作成しbean、次のように工場がある他の方法を:

Resource resource = new FileSystemResource("beans.xml");
BeanFactory factory = new XmlBeanFactory(resource);

ClassPathResource resource = new ClassPathResource("beans.xml");
BeanFactory factory = new XmlBeanFactory(resource);

基本的に使用してgetBean(String)容器内のインスタンスを検出して取得する方法。BeanFactoryインターフェイスは非常にシンプルであるインサイド

たBeanFactory方法

BeanFactoryインタフェースは、次の主要メソッドは、クライアントによって呼び出されました

  1. boolean containsBean(String):IFがBeanFactory指定した一致する名前が含まbean定義やbean例を、リターンtrue
  2. Object getBean(String):登録の名前を返しbeanインスタンスを。よるBeanFactory方法を設定Bean、単一インスタンスまたは共有インスタンスを返すか、新しく作成されますBeanこれが見つからない場合bean(この場合には、それがあるNoSuchBeanDefinitionException)、または調製例およびにbean異常が発生した時、それがスローされますBeansException
  3. Object getBean(String,Class):指定した名前の登録を返しますbean戻り値はbeanキャストに与えられますClassあなたがキャストできない場合はbean、対応する例外が(スローBeanNotOfRequiredTypeException)。また、適用getBean(String)法のすべてのルールを
  4. Class getType(String name):指定された名前を返しますBeanのをClassあなたは見つけることができない場合は、指定された名前は、に対応しbean、スローされますNoSuchBeanDefinitionException
  5. boolean isSingleton(String):指定された名前登録判別bean定義またはbeanインスタンスは、単一の実施形態です。あなたが対応するBeanの指定された名前を見つけることができない場合、スローされますNoSuchBeanDefinitionException
  6. String [] getAliases(String):返しますbean(場合、エイリアスの名前をbean別名の定義で定義されています)

ApplicationContextの

ApplicationContextコンテナは、このようなリスナー関数への関心のプロパティファイルとアプリケーションイベントパブリッシング・イベントからテキストメッセージを解析するなど、よりエンタープライズ固有の機能を追加します。コンテナorg.springframework.context.ApplicationContext定義されたインタフェース。

ApplicationContextコンテナが含まれているBeanFactoryコンテナのすべての機能を、頻繁にすることをお勧めしますBeanFactoryそれを使用します。BeanFactory軽量アプリケーションは、依然として、そのようなモバイル・デバイスまたはベースとして使用することができるappletアプリケーションなど。

ApplicationContextのタイプ

最も一般的に使用されるApplicationContext次のことを達成するために:

  1. FileSystemXmlApplicationContext-からのコンテナXML積載ファイルBean定義。ここでは、コンストラクタに提供する必要がありXML bean、構成ファイルへのフルパス。
  2. ClassPathXmlApplicationContext-からのコンテナXML積載ファイルBean定義。ここでは、提供する必要があるXMLファイルのフルパスを、しかし適切に設定する必要がありCLASSPATH、このコンテナがしますので、CLASSPATH中を見beanコンフィギュレーション・XMLファイル。
  3. WebXmlApplicationContext-このコンテナからWebすべてのアプリケーションをロードbeanで定義されXMLたファイル。

ApplicationContextの作成方法

以下の実施例との関連で示したアプリケーションのためのサンプルコード。

ApplicationContext context = new FileSystemXmlApplicationContext("beans.xml");
HelloWorld obj = (HelloWorld) context.getBean("helloWorld");

ここに画像を挿入説明

マイクロチャンネル公衆番号へ???注意Javaの乾燥
時間から乾燥を共有する時間情報へ

オリジナルリンク:春-のIoCコンテナ

公開された112元の記事 ウォン称賛90 ビュー35万+

おすすめ

転載: blog.csdn.net/dandandeshangni/article/details/102626939