一档桃、概述
Spring快速入門兩種實(shí)現(xiàn):BeanFactory快速入門怯晕、ApplicationContext快速入門;
二驳阎、Spring對(duì)應(yīng)jar包導(dǎo)入
Spring基礎(chǔ)jar包導(dǎo)入Context包即可脑豹;其內(nèi)部會(huì)包含core包與beans包郑藏;
三、BeanFactory快速入門
1瘩欺、Spring的BeanFactory實(shí)現(xiàn)的開發(fā)步驟:
① 導(dǎo)入Spring對(duì)應(yīng)jar包或Moven引入必盖;
② 建立Bean對(duì)象;
③ XML配置文件配置Bean對(duì)象相關(guān)信息(還可以通過注解配置)俱饿;
④ 創(chuàng)建BeanFactory對(duì)象歌粥,加載配置文件并初始化,通過BeanFactory對(duì)象創(chuàng)建Bean實(shí)例拍埠;常用Xml解析BeanFactory類:DefaultListableBeanFactory
四失驶、ApplicationContext快速入門
1、概述:
ApplicaitonContext又稱為Spring容器枣购,內(nèi)部封裝并拓展了BeanFactory嬉探;我們?cè)谑褂肁pplicationContext開發(fā)時(shí),對(duì)應(yīng)的xml配置文件常命名為:applicaitonContext.xml
2棉圈、Spring的ApplicationContext實(shí)現(xiàn)的開發(fā)步驟:
①?導(dǎo)入Spring對(duì)應(yīng)jar包或Moven引入涩堤;
②?建立Bean對(duì)象;
③?XML配置文件配置Bean對(duì)象相關(guān)信息(還可以通過注解配置)分瘾;
④?創(chuàng)建ApplicationContext對(duì)象胎围,通過ApplicationContext對(duì)象創(chuàng)建;常用的Xml解析用ApplicationContext類:ClassPathXmlApplicationContext
五德召、BeanFactory與ApplicationContext的關(guān)系
1白魂、BeanFactory與ApplicationContext的關(guān)系:
① BeanFactory是Spring早期接口,稱為:Spring的Bean工廠氏捞;ApplicationContext是后期更高級(jí)接口,稱為:Spring容器冒版;
②?ApplicationContext在BeanFactory的基礎(chǔ)上進(jìn)行了擴(kuò)展液茎,例如:監(jiān)聽功能,國(guó)際化功能等;BeanFactory的API更偏向底層捆等;ApplicationContext的API大多是對(duì)這些底層API的封裝滞造;
③?ApplicationContext不僅繼承了BeanFactory,其內(nèi)部還維護(hù)著BeanFactory的引用栋烤;因此谒养,ApplicationContext與BeanFactory既有繼承關(guān)系,又有融合關(guān)系明郭;
④ 兩者對(duì)Bean對(duì)象初始化的時(shí)機(jī)不同买窟;原始BeanFactory是在首次調(diào)用getBean時(shí)才進(jìn)行對(duì)應(yīng)Bean的創(chuàng)建;而ApplicationContext則在配置文件加載時(shí)薯定,容器一創(chuàng)建就將所有的Bean對(duì)象(無單獨(dú)特殊配置)都實(shí)例化并初始化好始绍;
2、ApplicationContext與BeanFactory的繼承拓展關(guān)系圖
六话侄、BeanFactory的繼承體系
BeanFactory是核心接口亏推;其具體實(shí)現(xiàn)類為:DefaultListableBeanFactory,ApplicationContext內(nèi)部維護(hù)的BeanFactory的實(shí)現(xiàn)類就是它年堆;
七吞杭、ApplicationContext的的繼承體系
※※※ 下面的繼承體系說明僅在在Spring基礎(chǔ)環(huán)境下,即只導(dǎo)入spring-context包時(shí)变丧,其的繼承體系芽狗;
常用的三個(gè)ApplicationContext實(shí)現(xiàn)類說明:
ClassPathXmlApplicationContext:加載類路徑下的xml配置文件;
FileSystemXmlApplicationContext:加載磁盤路徑下的xml配置文件锄贷;
AnnotationConfigApplicationContext:加載注解配置類译蒂;