Неудовлетворенная зависимость, выраженная через аргумент конструктора — поиск логического значения при конструкторе строки

У меня есть этот устаревший код, который жалуется на создание bean-компонента, поскольку кажется, что он пытается использовать один конструктор вместо другого:

org.springframework.beans.factory.UnsatisfiedDependencyException: ошибка при создании bean-компонента с именем 'catService', определенным в ресурсе пути к классу [catContext.xml]: неудовлетворенная зависимость, выраженная через аргумент конструктора с индексом 0 типа [boolean]: неоднозначные типы аргументов конструктора - сделал вы указываете правильные ссылки на компоненты в качестве аргументов конструктора?

XML-определение bean-компонента выглядит следующим образом:

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

Значение catName исходит из другого файла, и вот структура папок: введите здесь описание изображения

Сам класс имеет несколько конструкторов:

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

public CatService(){
 ...
}


public CatService(boolean isHungry){
   ...
}

Почему Spring пытается использовать «неправильный» конструктор?


person riorio    schedule 18.05.2020    source источник
comment
У вас есть строковое свойство/компонент с именем catName где-нибудь?   -  person lealceldeiro    schedule 18.05.2020
comment
@lealceldeiro да, такое строковое свойство есть в другом файле (но IntelliJ не распознает его при нажатии ctrl -> cannot find declaration to go to   -  person riorio    schedule 18.05.2020
comment
@lealceldeiro приложение имеет ту же ошибку при запуске из CLI   -  person riorio    schedule 18.05.2020


Ответы (1)


Итак, после разочаровывающих 2 дней проблема исчезла точно так же, как и появилась.

Никаких изменений кода.

Некоторые из действий, которые я выполнил:

  • перезагрузка компьютера
  • mvn clean в родительский проект
  • mvn clean в проект зависимостей, вызвавший проблему
  • IntelliJ несколько раз «аннулирует кеш и перезагружает».
  • ЖКТ "трясется" - перемещается туда-сюда между разными ветвями

Кажется, что ни один из них не творил магию сам по себе, хотя я думаю, что основной вклад вносил mvn clean в проект зависимостей, вызвавший проблему.

person riorio    schedule 19.05.2020