学习spring框架已经有一段时间了。但是每当我寻找初始化和销毁回调时,每个示例都使用ConfigurableApplicationContext而不是ApplicationContext。有人可以解释为什么吗?
最佳答案
因为ApplicationContext所有常见的实现其实都是ConfigurableApplicationContext。从 ConfigurableApplicationContext 的 javadoc 中提取:
大多数(如果不是所有)应用程序上下文都将实现 SPI 接口(interface)。
和
配置和生命周期方法被封装在这里,以避免使它们对 ApplicationContext 客户端代码显而易见。本方法只能由启动和关闭代码使用
这意味着当您使用应用程序上下文时,即从中获取 bean,您只能将其用作 ApplicationContext
但是当您管理它的生命周期(初始化和销毁)时,您使用 ConfigurableApplicationContext
中的方法
关于spring - 可配置应用程序上下文与应用程序上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30861709/