📅  最后修改于: 2023-12-03 15:35:03.496000             🧑  作者: Mango
ApplicationContext
是Spring中核心容器接口,负责管理应用程序中的所有组件,包括bean的创建、配置和装配。它支持多个配置文件,具有较高的灵活性和可扩展性。
WebApplicationContext
是ApplicationContext的一个派生接口,专为Web应用程序而设计。它具有与ServletContext相关联的生命周期,并且支持从ServletContext获取bean定义。它提供了共享bean实例的机制,避免了每次请求都创建bean的开销。
ApplicationContext
生命周期与应用程序相同,即当应用程序启动时创建,当应用程序关闭时销毁。
WebApplicationContext
生命周期与ServletContext相关联,当ServletContext被初始化时创建,当ServletContext销毁时销毁。
ApplicationContext
没有访问Web相关资源的方法。
WebApplicationContext
可以从ServletContext中获取Web相关的资源,例如HttpServletRequest
、HttpServletResponse
和HttpSession
。
ApplicationContext
支持多个配置文件,可以使用XML、注解或Java配置进行配置。
WebApplicationContext
可以使用XML、注解或Java配置,并支持Web应用程序特定的命名空间和标记库。
ApplicationContext
可以管理多个应用程序组件的生命周期,包括数据库连接池、线程池、缓存等。
WebApplicationContext
还支持比如视图解析器、控制器映射器、拦截器等Web特定的组件和生命周期管理。
WebApplicationContext
是ApplicationContext
的扩展,专为Web应用程序而设计。它提供了ServletContext中获取Web相关资源、使用多个配置文件并支持Web应用程序特定的命名空间和标记库的能力。同时,它还支持Web特定的组件和生命周期管理。