Spring MVC 中 Spring Root 容器加载除 Controller 之外的其他 Spring Bean,通过 ContextLoaderListener 加载。
1. web.xml 方式
这种方式需要把项目部署在外部 Web 服务器,如 Tomcat 上。
- Tomcat 启动时,会调用我们配置的 Listener,调用 ContextLoaderListener 的 contextInitialized 方法。
- 创建的Spring Root 容器为:
过程总结为:
- Tomcat 启动时,会调用 listener 中配置的 ContextLoaderListener,调用其 contextInitialized 方法
- 再创建 Spring Root Context,容器类型或为 中配置的类型,或为 ContextLoader.properties 中配置的默认类型
- Spring Root Context 获取 bean 配置文件,调用 refresh 方法,注册、实例化 bean