跟著剛哥學習Spring框架--Spring容器(二)
Spring容器
啟動Spring容器(實例化容器)
-- IOC容器讀取Bean配置創建Bean實例之前,必須對它進行實例化(加載啟動),這樣才可以從容器中獲取Bean的實例並使用。
Bean是Spring管理的基本單位,任何的Java對象和組件都被當成Bean處理,容器還負責管理Bean與Bean之間的依賴關系。
兩種類型的啟動實現
1、BeanFactory:IOC容器的基本實現,是Spring框架的基礎設施,面向Spring本身;
-- Spring容器最基本的接口就是BeanFactor。BeanFactory負責配置、創建、管理Bean。
-- BeanFactory接口包含以下幾個基本方法:
Ø Boolean containBean(String name):判斷Spring容器是否包含id為name的Bean實例。
Ø <T> getBean(Class<T> requiredTypr):獲取Spring容器中屬於requiredType類型的唯一的Bean實例。
Ø Object getBean(String name):返回Spring容器中id為name的Bean實例。
Ø <T> T getBean(String name,Class requiredType):返回容器中id為name,並且類型為requiredType的Bean
Ø Class <?> getType(String name):返回容器中指定Bean實例的類型。
2、ApplicationContext:面向使用Spring框架的開發者,幾乎所有的應用都使用它而非底層的BeanFactory;
-- ApplicationContext是BeanFactory的子接口,一般都會用ApplicationContext,在使用上相比BeanFactory更方便一些。
看結構能夠看出ApplicationContext有1個子接口,多個抽象類,2個實現類
1) 一個子接口:ConfigurableApplicationContext
① 此接口新增兩個主要方法refresh和close,讓ApplicationContext具有啟動、刷新和關閉上下文的能力
2)兩個實現類:ClassPathXmlApplicationContext和FileSystemXmlApplicationContext
① ClassPathXmlApplicationContext : 從類路徑下加載配置文件
√ 文件路徑:默認指的是項目的classpath路徑下面,所以不需要寫前綴classpath:。如果指向絕對路徑,需要加上file:
② FileSystemXmlApplicationContext:從文件系統中加載配置文件
√ 文件路徑:默認指的是項目的根目錄下,想使用項目的classpath路徑下面,需要加上classpath:。
--------------------------------------------------------------------------------------------------------------------
跟著剛哥學習Spring框架系列:
跟著剛哥學習Spring框架--創建HelloWorld項目(一)
跟著剛哥學習Spring框架--Spring容器(二)
跟著剛哥學習Spring框架--通過XML方式配置Bean(三)
跟著剛哥學習Spring框架--通過註解方式配置Bean(四)
跟著剛哥學習Spring框架--AOP(五)
跟著剛哥學習Spring框架--Spring容器(二)