Spring中ClassPathXmlApplicationContext.start()的作用是啥?



 context = new ClassPathXmlApplicationContext(configPath.split("[,\\s]+"));
 context.start();

上面这代码片段在使用spring的项目中随处可见~

我想知道,第2行调用 start() 的目的是什么?

我总感觉好像启动了线程一样~~应该不是一个意思吧?

spring java

颓废的阿飞哥 10 years, 4 months ago

帮你查了一下文档,做一次文档的搬运工,顺便在SF上刷分=。=

首先, ClassPathXmlApplicationContext 是从 org.springframework.context.support.AbstractApplicationContext 继承来的。然后追根溯源,我查到了 Lifecycle 这个Interface。
这个


 public void start()

方法,就是该接口中声明的方法。该方法的作用在于,启动某个组件,如果该组件已经启动则不抛出异常,如果启动的是某个 container ,则会将启动信号扩散至该容器内部的所有组件。

Lifecycle 接口常用来对异步过程进行控制,大部分已实现在Spring框架内部。

幻耀D雅蠛蝶 answered 10 years, 4 months ago

Your Answer