Spring并没有一个main class和main方法,它主要作为web application或者java application等应用的一种辅助。那么Spring是如何初始化的呢?
对于java application,Spring的初始化很简单,new一个ApplicationContext或者BeanFactory即可。而在web application中要多出一个和web 容器整合的过程。
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
ContextLoaderLister extends ContextLoader implements ServletContextListener
由于ContextLoaderLister实现了ServletContextListener接口,即实现了contextInitialized和contextDestroyed方法,所以在一个web启动时,ContextLoaderListener会调用contextInitialized方法,在该方法中,initWebApplicationContext。这个过程类似于在java application中通过new创建一个ApplicationContext。不同的是该WebApplicationContext会保存一个到ServletContext的引用。默认的实现是XmlWebApplicationContext。
Spring IoC
最新推荐文章于 2024-08-30 19:56:58 发布