Как решить UnsatisfiedDependencyException после нескольких изменений - PullRequest
0 голосов
/ 10 июня 2019

Привет, я новичок в мире Spring, и мне нужны мысли для решения этой проблемы. После того, как я обновил кучу файлов, веб-сервис Spring не смог загрузиться успешно.

TestMainApplication - мой основной файл начальной загрузки.

Я верю, что причина от chartServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 6; Тем не менее, я ничего не обновил с secondaryChannelServiceImpl.

Любая идея или направление для рассмотрения такого рода проблемы?

Задача дублирования конструктора или?

    at com.iicloud.goodOrg.TestMain.service.TestMainApplication.main(TestMainApplication.java:69)

    Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: 

    Error creating bean with name 'org.springframework.web.servlet.config.annotation.DelegatingWebMvcConfiguration': Unsatisfied dependency 
    expressed through method 'setConfigurers' parameter 0; 
    nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'TestMainApplication': 
    Unsatisfied dependency expressed through field 'chartService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'chartServiceImpl' defined in file [.../charts/service/impl/chartServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 6; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'secondaryChannelServiceImpl' 

1 Ответ

1 голос
/ 10 июня 2019

UnsatisfiedDependencyException может возникнуть по нескольким причинам.

  • Если мы не создадим компонент для определенного класса или пропустим аннотацию @Component для класса. Spring не будет управлять этими классами, и, следовательно, контейнер Spring не создаст объект для автоматической передачи.

  • Классы автопроводки, которые не являются частью пакетов, включенных для сканирования компонентов. Spring будет искать компоненты только в пакетах, включенных в сканирование пакетов.

  • Если существуют неуникальные разрешения зависимостей. Если есть еще две реализации для интерфейса, Spring не будет знать, какую из них использовать автоматически. Этого можно избежать, упомянув правильную реализацию, используя аннотацию @Qualifier вместе с @ Autowired.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...