有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

整数的JavaSpringbean注入失败

我已经定义了4个java类型的bean。整型。 两个bean被正确注入(gradeSyncMinCount和gradeSyncMaxCount),但我在注入另外两个bean时遇到了问题。这两个有问题的bean是我刚刚创建的。 同样的4个bean也可以成功地注入到控制器类中。我试过@Qualifier、@Resource、@Autowired。我也检查了组件扫描。 我不知道我错过了什么。请帮忙

原因:

org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type [java.lang.Integer] is defined: expected single matching bean but found 2: gradeSyncMaxCount,gradeSyncMinCount

我的Java课

@Autowired
private Integer gradeSyncMinCount;
@Autowired
private Integer gradeSyncMaxCount;
@Autowired
private Integer maxDeliveryAttempt;
@Autowired
private Integer maxDaysToKeep;

我的应用程序上下文。xml

<bean id="maxDeliveryAttempt" class="java.lang.Integer">
<constructor-arg value="4" />
</bean>

<bean id="maxDaysToKeep" class="java.lang.Integer">
<constructor-arg value="200" />
</bean>
<bean id="gradeSyncMaxCount" class="java.lang.Integer">
<constructor-arg value="500" />
</bean>  
<bean id="gradeSyncMinCount" class="java.lang.Integer">
<constructor-arg value="15" />
</bean>

共 (1) 个答案

  1. # 1 楼答案

    签出@Qualifier注释或autowired=byName,您有4个相同类型的bean,spring无法确定将哪一个注入到哪里。使用@Qualifier可以传递要注入的bean的名称,结尾如下:

    @Autowired
    @Qualifier("gradeSyncMinCount")
    private Integer gradeSyncMinCount;
    

    希望有帮助