我一直在学习Spring大约一个星期了,我似乎并不理解Spring网络应用程序的生命周期。有人可以向我解释
我一直在盯着这个,但还是无法完全理解它。有些网站说,一旦web容器加载了一个web应用程序,那么上下文加载器就会初始化Spring框架。
无论如何,重点是我还没有正确理解这一点。我假设在实例化spring时会创建bean(默认情况下,并不是在延迟加载的情况下)但是如何?
答案 0 :(得分:3)
Spring webapps就像非Spring webapps。它们具有标准的webapp配置(使用web.xml或使用更新的Java配置)。
此配置定义了一个servlet,Spring Dispatcher servlet,并将其映射到一组URL模式。部署webapp时,此servlet由容器初始化,并调用标准Web应用程序侦听器。 Spring然后加载自己的配置,这是一个Spring上下文配置。这样就可以启动Spring上下文,实例化大量的Spring bean,并将它们连接在一起。
实例化和连接的一些Spring bean是Spring控制器,映射到特定的URL或一组URL(以及HTTP方法,接受标头等)。因此,当请求进入Tomcat时,Tomcat首先找到应该处理它的Web应用程序。然后它确定应用程序中的哪个servlet应该处理它。如果DispatcherServlet是处理程序,它会分析请求并再次将其分派给相应的Spring控制器。