gpt4 book ai didi

java - Java EE部署中的Spring类加载机制

转载 作者:行者123 更新时间:2023-11-29 09:12:37 25 4
gpt4 key购买 nike

想了解一下Spring Container的ClassLoader是怎么实现的。

举个例子:部署一个包含所有必要 jar 的 WAR,以便在 tomcat 的 webcontainer 中启动 Spring Container。

我的问题:
1.我认为Spring容器类本身是由web-container创建的WAR的ClassLoader加载的,我的想法是否正确?
2、WAR卸载时,spring容器加载的Class[](java.lang.Class对象)是如何卸载的。 spring 本身有一个类加载器吗?或者它使用 webcontainer 提供的类加载器?
3.如果我的Spring Container是继承bean的(在web.xml中使用parentContextKey),如果其中一个父bean有lazy-init=true并且被这个部署的WAR请求,谁来加载和卸载请求的Class对象 bean ?

提前致谢

最佳答案

所有这些生命周期都由容器维护,你通过在 web.xml 中声明它来让它知道 例如

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

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

如果你有任何惰性初始化的东西。 Web 容器将调用委托(delegate)给在类路径中搜索类的 spring 容器。

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

看看有没有帮助

关于java - Java EE部署中的Spring类加载机制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11436294/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com