1.简介
方法的定义
/**
* 加载或刷新配置的持久性表示形式,它可能来自基于Java的配置,XML文件,属性文件,关系数据库模式或其他格式。
* 由于这是一种启动方法,因此,如果失败,则应销毁已创建的单例,以避免资源悬空。
* 换句话说,在调用此方法之后,应实例化所有单例或根本不实例化。
* @throws BeansException 如果无法初始化bean工厂
* @throws IllegalStateException 如果已经初始化并且多次刷新.不支持尝试
*/
void refresh() throws BeansException, IllegalStateException;
- 此方法加载配置的持久性表示形式
- 此方法为ApplicationContext的启动方法,用于实例化所有单例
- 这个方法其实就是ApplcationContext的入口
2.继承结构
refresh方法定义在ConfigurableApplicationContext接口中,继承关系为
- 可以看到基本所有的容器上下文都实现了这个接口,说明refresh是A