spring(一)スプリングの核心容器

1901 ワード

スプリングの核心容器
  • BenFactory
  • 簡単に言えば、BenFactoryはBeanを管理する工場であり、主に各種Beanを初期化し、それらのライフサイクルの方法を呼び出します.
    BenFactoryのインスタンスを作成するには、Spring管理の詳細な構成情報が必要です.これらの情報はXMLファイル形式で管理されています.構成情報をロードする文法は以下の通りです.
    BeanFactory beanFactory=new XmlBeanFactory(new fileSystemResource("F:/applicationContext.xml"))
       
    2.Application Comptext
    Apple ContectはBenFactoryのサブインターフェースであり、アプリケーションコンテキストとも呼ばれ、BenFactoryのすべての機能を含むだけでなく、国際化、資源訪問、イベント普及などの面でのサポートも追加されています.
    Aplication Contectインターフェースの例を作成します.通常は2つの方法を採用します.
  • Class PathXml Apple Comptextを通じて
  • を作成します.
    ApplicationContext applicationContext=new ClassPathXmlApplicationContext(String configLocation);
    configLocationパラメータは、Springプロファイルの名前と位置を指定するために使用されます.
  • FileSystemXmlAppleicationComptextを通じて
  • を作成します.
    ApplicationContext applicationContext=new FileSystemXmlApplicationContext(String configLocation);
    Class PathXml Appleication Contectとは違って、springのプロファイルを読み込むとき、FileSystemXmlAppliation Contectはクラスパスからプロファイルを読み込まなくなり、設定ファイルの位置をパラメータで指定します.例えば、F:/workspace/appration Context.xml
    ウェブサーバがAplication Contectコンテナを実例化する場合、通常はContect Loader Listenerに基づいて実現する方式を使用します.この方式はweb.xmlに下記のコードを追加するだけです.
    
    
    contextConfigLocation
    
    
    classpath:spring/applicationContext.xml
    
    
    
    
    
    org.springframework.web.context.ContextLoaderListener
    
    
    
    両者の違いは以下の通りです
    同じ点:全部xmlプロファイルでビーンをロードします.
    異なる点:Beanのある属性が注入されていない場合、BeanFactoryを使ってロードした後、初めてgetBean()メソッドを呼び出した時に異常を投げますが、Application Contextは初期化時に自己検査をするので、依存する属性が注入されているかどうかを確認するのに有利です.