为什么弹簧容器在创建豆子后立即销毁它们?

2022-09-03 01:43:49

在创建在我的应用程序的各种上下文文件中声明的所有bean之后,Spring立即通知(见下文)它正在销毁单例并且上下文初始化失败。

[信息]销毁 org.springframework.beans.factory.support.DefaultListableBeanFactory org.springframework.web.context.ContextLoader [ERROR] Context 初始化失败

有谁知道为什么Spring容器在创建它们后立即销毁了所有豆子?

注意:除了上述上下文初始化失败错误之外,日志输出中没有警告或错误 - 见下文。

[调试]急切地缓存 bean 'uploadService' 以允许解析潜在的循环引用 2011-09-21 15:19:08 org.springframework.beans.factory.annotation.InjectionMetadata

[调试]处理 bean 'uploadService' 的注入方法: AutowiredFieldElement for private org.apache.commons.fileupload.disk.DiskFileItemFactory com.faciler.ws.services.UploadService.diskFileFactory 2011-09-21 15:19:08 org.springframework.beans.factory.support.DefaultListableBeanFactory

[调试]创建单例 Bean 'diskFileItemFactory' 的共享实例 2011-09-21 15:19:08 org.springframework.beans.factory.support.DefaultListableBeanFactory

[调试]创建 bean 'diskFileItemFactory' 的实例 2011-09-21 15:19:08 org.springframework.beans.factory.support.DefaultListableBeanFactory

[信息]在org.springframework.beans.factory.support.DefaultListableBeanFactory@b0ede6中销毁单例:定义豆子 [org.springframework.beans.


答案 1

上下文初始化失败导致 spring 破坏已成功创建的 Bean,而不是相反。您可能需要将日志级别提升到 INFO 或 DEBUG 才能找到根本原因。


答案 2

当您遇到不知道导致问题的原因的情况时,请消除复杂性。在您的情况下,从配置中删除大多数 Bean,无论是 XML 还是基于注释的。开始将它们添加回去,看看哪一个打破了启动周期。然后,您可以专注于为什么一个豆子导致故障。


推荐