BeanFactory:
是Spring里面最底層的接口,提供了最簡單的容器的功能,只提供了實例化對象和拿對象的功能
?
ApplicationContext:
應用上下文,繼承BeanFactory接口,它是Spring的一各更高級的容器,提供了更多的有用的功能;
1:?國際化(MessageSource)
2:?訪問資源,如URL和文件(ResourceLoader)
3:?載入多個(有繼承關系)上下文 ,使得每一個上下文都專注于一個特定的層次,比如應用的web層 ?
4:?消息發送、響應機制(ApplicationEventPublisher)
5:?AOP(攔截器)
?
ApplicationContext 的初始化和BeanFactory 有一個重大的區別:
BeanFactory在初始化容器時,并未實例化Bean,直到第一次訪問某個Bean 時才實例目標Bean,懶加載;
而ApplicationContext 則在初始化應用上下文時就實例化所有單實例的Bean?
?
?
?