gpt4 book ai didi

java - Autowire 通用型 Spring 4.1.7

转载 作者:行者123 更新时间:2023-11-30 10:57:38 24 4
gpt4 key购买 nike

<分区>

我正在使用大于 4 的 Spring 版本。我有使用@Configuration配置的具有相同父类(super class)的bean

@Configuration
public Class ConfigClass{

@Bean
public Apple apple(){stuff to return apple bean}

@Bean
public Orange orange(){stuff to return orange bean}

}

我有一个 bean,它可能由这两个 bean 中的任何一个组成

@Component
public Class FruitEater<ReturnType extends Fruit>{

@Bean
ReturnType fruit;

}

然后我收到了这条漂亮的歧义错误消息:

未定义 [fruit] 类型的合格 bean:预期单个匹配 bean 但找到 2: Autowiring 依赖项的 appleInjection、orangeInjection 失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException: Could not autowire field: fruiteater.bean;嵌套异常是 org.springframework.beans.factory.NoUniqueBeanDefinitionException:没有定义 [fruit] 类型的合格 bean:预期单个匹配 bean 但找到 2:apple,orange

我的想法是,由于应该在编译时解析 ReturnType,因此 spring 应该能够基于通用类型 Autowiring 。我听说过 Spring 的 ResolvableType,但我不确定如何利用它,因为我对 Spring 还是很陌生。有没有办法解决这个问题并使我的 FruitEater 成为通用的 FruitEater?

提前致谢。

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