org.springframework.context包是Spring Framework的IoC容器的基礎。 BeanFactory接口提供了可以管理任何類型的對象的高級配置機制。ApplicationContext是BeanFactory的子接口。它更容易與Spring的AOP功能集成;消息資源處理(用於國際化),事件發佈;以及應用層特定的上下文,例如用於Web應用程序的WebApplicationContext。spring
簡而言之,BeanFactory提供了配置框架和基本功能,而ApplicationContext增長了更多的企業特定功能。ApplicationContext是BeanFactory的完整超集(superset ),本章僅用於Spring的IoC容器的描述。有關使用BeanFactory而不是ApplicationContext的更多信息,請參閱第7.16節「BeanFactory」。框架
在Spring中,構成應用程序主幹(backbone )並由Spring IoC容器管理的對象稱爲bean。bean是由Spring IoC容器實例化,組裝和以其餘方式管理的對象。此外,bean只是應用程序中的許多對象之一。 Bean和它們之間的依賴關係反映在容器使用的配置元數( configuration metadata)據中。spa
org.springframework.context.ApplicationContext表示Spring IoC容器,負責實例化,配置和組裝上述bean。容器經過讀取配置元數據獲取有關實例化,配置和組合的對象的說明。配置元數據用XML,Java註釋或Java代碼表示。它容許您表達組成應用程序的對象以及這些對象之間豐富的相互依賴關係。對象
ApplicationContext接口的幾個實現與Spring一塊兒提供。在獨立應用程序中,一般建立一個ClassPathXmlApplicationContext或FileSystemXmlApplicationContext的實例接口
在容器自己中,這些bean定義被表示爲BeanDefinition對象,其中包含(以及其餘信息)如下元數據:生命週期
(1)一個類全名:一般是要定義的bean的實際實現類;事件
(2)Bean行爲配置元素,它說明bean應該在容器(做用域,生命週期回調等)中的行爲;backbone
(3)引用bean來完成工做所需的其餘bean;這些引用也稱爲協做者(collaborators )或依賴關係(dependencies)ci
(4)在新建立的對象中設置的其餘配置設置,例如,在管理鏈接池的bean中使用的鏈接數,或池的大小限制。資源