Spring源码解析之ConfigurableApplicationContext

3次阅读

共计 493 个字符,预计需要花费 2 分钟才能阅读完成。

UML 图

接口的作用

从上面的 UML 图中,可以看到 ConfigurableApplicationContext 直接继承了 ApplicationContext, Lifecycle, Closeable 接口,所以 ApplicationContext 是 ApplicationContext 的子类。用过 Spring 或者看过 Spring 源码的,肯定都知道 ApplicationContext 这个接口。它的作用和名字一样,就是应用程序上下文(说明起一个好名字是多么重要),包含了程序上下文唯一 ID,应用程序名称等信息。

Lifecycle 接口则是负责对 context 的生命周期进行管理,提供了 start()stop() 以及 isRunning() 方法。

Closeable 接口是 JDK 提供的接口,用于关闭组件,释放资源。

所以 ConfigurableApplicationContext 接口的作用就是设置上下文 ID,设置父应用上下文,添加监听器,刷新容器,关闭,判断是否活跃等方法。其实简单看一下 ApplicationContext 接口就会发现里面之后 get 方法,没有 set 方法,所以子接口就提供了 set 方法。

正文完
 0