Spring基础04——ApplicationContext

1.ApplicationContext简述

ApplicationContext代表IOC容器,在SpringIOC容器中读取Bean配置创建Bean实例之前,必须对它进行实例化,只有在容器实例化后才可以从IOC容器里获取Bean实例并使用。

 

2.Spring IOC容器实现方式

 

Spring 提供了两种类型的IOC容器实现:

  • BeanFactory:IOC容器的基本实现。

 

  • ApplicationContext:提供了更多的高级特性,是BeanFactory的子接口。

 

两种方式比较:

  • BeanFactory:BeanFactory是Spring框架的基础设施,面向Spring本身:

 

  • ApplicationContext : 面向使用Spring框架的开发者,几乎所有的应用场合都直接使用ApplicationContext而非底层的BeanFactory。无论使用何种方式,配置文件是相同的。

ApplicationContext主要实现类

  • ClassPathXmlApplicationContext : 从类路径下加载配置文件。

 

  • FileSystemXmlApplicationContext : 从文件系统中加载配置文件。

 

 ApplicationContext其他实现类:

  • ConfigurableApplicationContext:Spring当中还有一个ConfigurableApplicationContext类,扩展于ApplicationContext, 新增加两个主要方法。refresh()和close(),让ApplicationContext具有启动、刷新和关闭上下文的能力。ApplicationContext在初始化上下文时就实例化所有的单例Bean.

 

  • WebApplicationContext:WebApplicationContext是专门为WEB应用而准备的,它允许从相对于WEB根目录的路径中完成初始化工作。

3.ApplicationContext实现类之间的关系

下面是它们的UML类图

 

 

ClassPathXmlApplicationContext和FileSystemXmlApplicationContext类都是继承自ConfigurableApplicationContext,而ApplicationContext中的getBean方法则是BeanFactory中的方法,因为BeanFactory接口是ApplicationContext的父接口。

 

posted @ 2019-05-06 14:27  风云独舞  阅读(5012)  评论(0编辑  收藏  举报