`context = new ClassPathXmlApplicationContext(configPath.split("[,\s]+"));
context.start();`
上面这代码片段在使用spring的项目中随处可见~
我想知道,第2行调用start()的目的是什么?
我总感觉好像启动了线程一样~~应该不是一个意思吧?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
首先,ClassPathXmlApplicationContext是从org.springframework.context.support.AbstractApplicationContext继承来的。然后追根溯源,我查到了Lifecycle这个Interface。
这个public void start()
方法,就是该接口中声明的方法。该方法的作用在于,启动某个组件,如果该组件已经启动则不抛出异常,如果启动的是某个container,则会将启动信号扩散至该容器内部的所有组件。
而Lifecycle接口常用来对异步过程进行控制,大部分已实现在Spring框架内部。