当前位置: 首页 > 知识库问答 >
问题:

从Spring 3升级到Spring 5--现在出现自动连接错误

方嘉志
2023-03-14

在部署应用程序时,我会遇到以下异常。

该组件为:

@Component
@Qualifier("healthPlanCheckoutFunnelStateHolderMapper")
public class HealthPlanCheckoutFunnelStateHolderMapper extends CommonHealthCheckoutFunnelStateHolderMapper<HealthPlanCheckoutBean>
{
    @Override
    protected HealthPlanCheckoutBean createBean() {
        return new HealthPlanCheckoutBean();
    }
}

而该组件的自动连接是:

@Autowired
@Qualifier("healthPlanCheckoutFunnelStateHolderMapper")
private FunnelStateHolderMapper<HealthPlanCheckoutBean, HealthPlanFunnelStateHolder> funnelStateHolderMapper;

FunnelStateHolderMapper接口

/**
 * Interface defines methods for mapping to and from a {@link FunnelStateHolder}. This is the top level mapper that
 * should be used by each controller for handling GET and POST requests. The implementation may delegate to other
 * underlying mappers but this should always be the interface to which the controller talks.
 */
public interface FunnelStateHolderMapper<B, F extends FunnelStateHolder> {

    B toScreenBean(F funnelStateHolder);

    F fromScreenBean(F funnelStateHolder, B screenBean);
}

在包含此代码所在包的配置中有一个组件扫描。

这在Spring3中工作得很好,但是自从切换到Spring5之后,这个问题就出现了。我想可能是我为了编译它而进行的一些重构导致了这个问题,但我不这么认为。以上代码所在的文件均未更新。

到目前为止,我还没有更新任何spring配置。spring 3和spring 5搜索组件的方式有区别吗?

共有1个答案

时同
2023-03-14

现场

private FunnelStateHolderMapper<...> funnelStateHolderMapper;

@component/@qualifier注释类的类型不同

HealthPlanCheckoutFunnelStateHolderMapper

您不能期望Spring会@autowire一些会引发编译/运行时错误的东西。

 类似资料:
  • java:openjdk11 Spring-Boot:V2.2.0.发行版 我试着从下面的位置删除jar并做了mvn清洁安装,仍然没有运气。 .m2/repository/org/springframework/boot/spring-boot-actuator/2.2.0.release/spring-boot-actuator-2.2.0.release.jar 如何解决这个问题?

  • 问题内容: 我今天从Java 1.6升级到Java 1.7。从那时起,当我尝试通过SSL建立到我的Web服务器的连接时发生错误: 这是代码: 这只是一个测试项目,这就是为什么我允许和使用不受信任的证书以及代码的原因: 问题答案: Java 7引入了默认情况下启用的SNI支持。我发现某些配置错误的服务器会在SSL握手中发送“无法识别的名称”警告,大多数客户端会忽略此警告… Java除外。如@Bob

  • 问题内容: 我知道我正在做一些非常愚蠢和愚蠢的事情,但是我希望有人可以帮助我建立从Mac上的node.js到mongodb的基本数据库连接。 我已经使用自制软件安装了mongodb,看起来效果很好。我已经以本地登录用户身份启动了服务器(mongod),并打开了第二个终端,并确认可以使用mongo连接到该服务器。当我运行mongo时,出现消息“正在连接:localhost:27017 / test”

  • 问题内容: 我有一个用于签署XML文档的Java应用程序。将Java升级到最新版本(Java7u25)后,它将停止工作。我收到以下错误: 恢复为java7u21解决了该问题。XML Dig Sig API中是否有任何导致此错误的更改? 问题答案: 这里同样的问题。由于不断发展,似乎是JVM内部的错误。 我已经将其归结为 在Java 7u21及之前的版本中: 在Java 7u25中: 指的是XML

  • 我们已经升级到最新版本,升级到。尽管我们获得了maven构建的成功,但我们还是被击败了。 在第一次启动时,我们得到了循环引用错误,我们在 然而现在我们得到了。下面是

  • 我正在Mac OS X上运行。我最近将node和npm更新到了最新版本,按照以下已接受的回答步骤将node.js升级到Mac OS上的最新版本。node:和npm:现在当我运行我的Gulp文件时,我得到了这个错误: 有人知道这是什么问题吗?