javaee部署中的Spring类加载机制

javaee部署中的Spring类加载机制,java,spring,classloader,Java,Spring,Classloader,我想了解如何使用Spring容器的类加载器 以下是一个例子: 部署一个包含所有必要JAR的WAR,以便在tomcat的webcontainer中启动Spring容器 我的问题: 1.我认为Spring容器类本身是由web容器创建的WAR类加载器加载的,对吗? 2.取消部署WAR时,spring容器加载的类[](java.lang.Class对象)是如何卸载的。spring本身有一个类加载器吗?或者它使用webcontainer提供的类加载器 3.如果我的Spring容器正在继承bean(使用we

我想了解如何使用Spring容器的类加载器

以下是一个例子: 部署一个包含所有必要JAR的WAR,以便在tomcat的webcontainer中启动Spring容器

我的问题:
1.我认为Spring容器类本身是由web容器创建的WAR类加载器加载的,对吗?
2.取消部署WAR时,spring容器加载的类[](java.lang.Class对象)是如何卸载的。spring本身有一个类加载器吗?或者它使用webcontainer提供的类加载器
3.如果我的Spring容器正在继承bean(使用web.xml中的parentContextKey),并且如果父bean中的一个具有lazy init=true并且是此部署的WAR请求的,那么谁将加载和卸载请求bean的类对象


提前感谢

所有这些生命周期都由容器维护,您可以通过在web.xml中声明来了解它 比如说

RequestContextListener向上下文公开“请求”范围。
org.springframework.web.context.request.RequestContextListener

这个监听器从容器监听器扩展而来,容器能够处理生命周期

如果你有什么东西是懒惰的。web容器将调用委托给spring容器,spring容器在类路径中搜索类

因此,生命周期基本上得到了处理。您还可以拥有自己定制的监听器来处理这些生命周期


查看它是否有帮助

所有这些生命周期都由容器维护,您可以通过在web.xml中声明来了解它 比如说

RequestContextListener向上下文公开“请求”范围。
org.springframework.web.context.request.RequestContextListener

这个监听器从容器监听器扩展而来,容器能够处理生命周期

如果你有什么东西是懒惰的。web容器将调用委托给spring容器,spring容器在类路径中搜索类

因此,生命周期基本上得到了处理。您还可以拥有自己定制的监听器来处理这些生命周期


看看它是否有用

您的web应用程序可以基于Spring,也可以仅仅基于JSP和servlet。
当您运行Tomcat或其他servlet容器时,它使用其类加载器从WAR加载类和库,WAR部署到
webapp
文件夹(用于Tomcat)。

您的web应用可以基于Spring,也可以基于JSP&servlet。
当您运行Tomcat或其他servlet容器时,它会使用其类加载器从WAR加载类和库,WAR被部署到
webapp
文件夹(用于Tomcat)。

我这里不是在谈论spring的bean生命周期。我的问题只关心spring容器中的类加载器,我这里不是在讨论spring对bean的生命周期。我的问题只关心spring容器中的类装入器。