通过构造函数参数表示的不满意依赖性-在String构造函数时查找布尔值

我有这个遗留代码,抱怨bean的创建,因为它似乎试图使用一个构造函数来代替另一个:

org.springframework.beans.factory.UnsatisfiedDependencyException:创建类路径资源[catContext.xml]中定义的名称为'catService'的bean时出错:通过索引类型为[boolean]的构造函数参数表示的不满意依赖性:构造函数参数类型不明确-确实您指定正确的bean引用作为构造函数参数?

bean的XML定义是这样的:

 <bean id="catService" class="com.example.CatService" lazy-init="false">
    <constructor-arg  type="java.lang.String" value="${catName}" />
</bean>

该类本身有几个构造函数:

@Autowired
public CatService(String catName) {
    ...
}

public CatService(){
 ...
}


public CatService(boolean isHungry){
   ...
}

为什么Spring尝试使用“错误的”构造函数?

评论