..


スポンサーリンク

コアコンテナ - IoCコンテナ

IoCコンテナは、Springとと呼ばれるそれに配置されているオブジェクトを、構成するインスタンス化の面倒を一部です

Beanは、XMLファイルまたはすることができるメタデータを介して設定れているJava のアノテーション 。 デフォルトでは、メタデータはアノテーションの使用はApplicationContextを設定する必要はない有効にするには、唯一のXMLによって読み取られます。

前述のようにIoCとDIの一部は、BeanFactoryがやApplicationContextのを介して実装されます。 ApplicationContextのは、BeanFactoryをのスーパーセットであるため、それは推奨され、これから我々は唯一のall'ApplicationContextを参照します。
アプリケーションを開発する必要がありますに応じて、SpringのApplicationContextが提供する様々な種類があります。 例えば、のためには、単独でアプリケーションを立ち、エンタープライズアプリケーションのためserlvetリ​​スナーからインスタンス化されたWebApplicationContext、あるとき私たちは、ClassPathXmlApplicationContext FileSystemXmlApplicationContextです。
すべては、ApplicationContextの構成メタデータを必要とし、我々は、XMLファイルを書き込むために最初にインスタンス化する必要があります。
のは、再びビデオストアを管理する基準として使用して、例を取るとのIoCクラスVideoManagerを初期化する方法を見てみましょう。
最初に我々はapplicationContext.xmlを呼ぶメタデータを使用してファイルを作成します。






 <beans xmlns="http://www.springframework.org/schema/beans" ............>





  



 <! - 輸入とその他のメタデータ - >



  



 <import resource="otherbeans.xml"/>

	



  



 <! - サービスの定義 - >

						

  



 <bean id="dvdService" class="it.mrwebmaster.DvdServiceImpl" scope="singleton" />





  



 <! - VIDEO Manager定義 - >



  



 <bean id="videoManager" class="it.mrwebmaster.VideoManager" scope="prototype">



    



 <property name="d​​vdService" ref="dvdService" />



  



 </ビーン>



	





 </豆>



この例では、豆を分割するために与えられたとして、複数のメタデータファイルの定義を統合することが可能であることを示しています。 現在、メタデータの構文(後述する)が、春のポテンシャルを理解することが重要です。
VideoManagerのdvdServiceを初期化し、dvdServiceためのgetterと​​setterを作成するクラスのコンストラクタから除去する:






公共VideoManager(){



  



スーパー();







 }









 <DVD> getAvalaibleDvdList公開リスト(){



  



 //......



  



 availabeDvdListリターン;







 }









公共ボイドsetDvdService(DvdService dvdService){



  



 this.dvdService = dvdService;







 }









公共DvdServiceのgetDvdService(){



  



 dvdServiceリターン;







 }



今IoCを初期化する方法を見てみましょう:





 / **



 



 * Instanz IoCコンテナ



 



 * /







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









 / **



 



 *クラスのVideoManagerを取得



 



 * /







 VideoManager VideoManager =(VideoManager)applicationContext.getBean("VideoManager");









 / **



 



 *利用可能なDVDのリストを印刷



 



 * /







リスト<DVD> avalaibleDvdList videoManager.getAvalaibleDvdList =();









 {:(avalaibleDvdList DVD DVD)用



  



 system.out.printlnを(dvd.getTitolo());







 }



これまで見てきたように、XMLコードの数行を書いて、我々は完全に私達のアプリケーションを設定することができた。

前の章で​​説明されているスプリングを使用する利点は、際立っている。

  • 私たちのアプリケーションのBean、およびVideoManger DvdServiceImpl Nessusは、インタフェースまたは抽象クラスを実装していない、との依存関係dall'IoCコンテナは無効となります。
  • あなたが実装dell'DvdServiceを変更し、または他人を追加する場合、単にインターフェースの使用のおかげで、VideoManagerのコードに触れることなく、applicationContext.xmlファイルを変更します。
  • また、インターフェースの使用のおかげで我々のアプリケーションのテストを作成するのは簡単です。

IoC Container

再び我々はFileSystemXmlApplicationContextこれを使うことができる私たちの例を参照:

 



 ApplicationContextのApplicationContextのFileSystemXmlApplicationContext =新しい("/ /パスのapplicationContext.xmlを");

 
代わりに、エンタープライズアプリケーションでのWebアプリケーションを使用するには、(春illutratoを使用するエンタープライズアプリケーションの完全な例は、このガイドの最後の章になる)私たちのweb.xmlに追加する必要があります。





 <! - スプリング - >







 <context-param>が



  



 <param-name> contextConfigLocation </のparam - name>



  



 <param-value>をクラスパス*:applicationContext.xmlを</ param - valueを>







 </のcontext - param>









の<listener>



  



 <listener-class> org.springframework.web.context.ContextLoaderListener </リスナクラス>







 </リスナー>



スプリングJavaのガイド
E -ラーニング
Linuxの(コース) Linuxの(コース)
オープンソースシステムへの完全なガイド。 49€から。
PHP(コース) PHP(コース)
動的なWebサイトを作成するためのフルコース。 49€から。
RubyとRuby on Rails(コース) RubyとRuby on Rails(コース)
RubyとRoRのと、ソフトウェアやWebアプリケーションを作成します。 39€から。
スポンサーリンク