ApplicationContext和BeanFactory兩個接口的區(qū)別:
- ApplicationContext:它在創(chuàng)建核心容器時,創(chuàng)建對象采取的是立即加載的方式,也就是說,只要一讀取完配置文件馬上就創(chuàng)建配置文件中的對象
ApplicationContext 是BeanFactory的子接口,它增添:
更容易與Spring的AOP特性集成
消息資源處理(用于國際化)
事件發(fā)布
特定的應用層環(huán)境,如用于web應用程WebApplicationContext。-
ApplicationContext的三個常用實現類
1.AnnotationConfigApplicationContext
它是用于讀取注解創(chuàng)建容器2.ClassPathXmlApplicationContext
它可以加載類路徑下的配置文件,要求配置文件必須在類路徑下- FileSystemXmlApplicationContext
它可以加載磁盤任意路徑下的配置文件(必須要有訪問權限)
- FileSystemXmlApplicationContext
- BeanFactory:它在構建核心容器時,創(chuàng)建對象采取的是延遲加載的方式,也就是說,什么時候根據id獲取對象了,什么時候才真正創(chuàng)建對象
簡而言之,BeanFactory提供了配置框架和基本功能,而ApplicationContext添加了更多企業(yè)特定的功能。ApplicationContext是BeanFactory的一個完整超集,