问题标签 [spring5]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
147 浏览

java - Spring 4 -> Spring5(事件)迁移问题与 @Import 配置类与构造函数参数

我正在尝试将我的 spring 4 代码迁移到 spring 5(特别是最新的 -> 5.3.16),其中大部分似乎还可以,但是我有一个

尝试像这样初始化 bean 时出错:

其中,AcmeEventListenerFactory 有一个构造函数,例如

参数当然应该是第二次导入所代表的bean(AcmeTopicPublisher)

使用

由于这在 spring4 中有效,我假设我错过了讨论此更改的迁移文档。有人可以解释我需要在这里做什么吗?

(下面的完整堆栈跟踪)

为了完整起见,这里是其他类

0 投票
0 回答
4 浏览

java - 无法使用 Spring 5.2.x 引用不同的 xml

在 Spring 4.3.5 中,我们一直在使用一种应用程序架构,在该架构中我们一次性初始化一些 bean,然后将这些 bean 用作其他 bean 的“参考”。

像这样的东西

但是一旦我们将库升级到 Spring 5.2.x,我们开始在 Jboss 7.3.1 启动时遇到以下异常:

我所做的一切: 启用 TRACE 日志记录并发现这一点 -2022-03-05 13:09:39,927 TRACE [org.springframework.beans.factory.annotation.InjectionMetadata] (ServerService Thread Pool -- 65) Processing injected element of bean 'exceptionSenderService': AutowiredFieldElement for private com.gehcit.cp.serviceability.service.ExceptionSenderService com.gehcit.cp.cem.aplix.jms.service.Impl.AplixPublisherQueueServiceImpl.exceptionSender 2022-03-05 13:09:39,927 TRACE [org.springframework.beans.factory.support.DefaultListableBeanFactory] (ServerService Thread Pool -- 65) Returning cached instance of singleton bean 'exceptionSenderServiceImpl' 2022-03-05 13:09:39,927 TRACE [org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor] (ServerService Thread Pool -- 65) Autowiring by type from bean name 'exceptionSenderService' to bean named 'exceptionSenderServiceImpl' 现在 bean 正在初始化,但是当搜索引用时,从 Spring 缓存中搜索,我们什么也得不到。

但是后来我们尝试将 bean 初始化从不同的 xml 转移到 bean 被引用的相同 xml 并且有效。所以我们得出结论,不知何故,跨 XML 配置不起作用。

从 context-web.xml 引用的 Bean

bean 正在 context-applix.xml 中初始化

有人可以帮我找到一种方法来引用 Spring 5.2.x 中其他 xml 文件中的 bean。 注意:我们已经用 Spring 5.2 更改了类加载部分。

将此添加到 web.xml

BeanFactoryContextLoaderListener.java