Spring изменения поиска beans с версии 4.3 до 5

У меня есть большие приложения Spring, использующие аннотации, которые отлично работают в Spring 4.3.13, и я хочу обновить их до Spring 5. Я получаю всевозможные сбои при подключении bean-компонентов, которые выглядят как типичные:

Unsatisfied dependency expressed through field 'pcoDAO'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.acme.dao.impl.contracts.PotentialChangeOrderDAO' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

включение весеннего журнала отладки, объединяет только эту дополнительную строку

Failed to meta-introspect annotation interface org.springframework.beans.factory.annotation.Autowired: java.lang.NullPointerException

Это не похоже на то, что все поля @Autowired терпят неудачу, только это (пока). Компонент определяется интерфейсом, а реализация находится в дополнительном пакете интерфейса, но, опять же, это работало раньше. Пакет интерфейса указывается прямо в контекст: компонент-сканирование base-package = "com.acme.package.of.interface"

Опять же, это отлично работает в 4.3.13, и изменение Только весной обновляется до 5.0.5-RELEASE.

Есть ли какие-нибудь известные изменения в том, как весна находит бобы? или какая-либо документация по этому поводу?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
9
0
1 127
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Кажется, ошибка Spring 5.0.5, была исправлена ​​в 5.0.6, см. Этот Требуется проверка нуля в AnnotationUtils.getAnnotation

спасибо, похоже. теперь просто нужно дождаться 5.0.6, я думаю

MeBigFatGuy 25.04.2018 05:46

У не. я сэкономил много времени на вашем ответе

Venki WAR 01.05.2018 13:36

Пожалуйста, ознакомьтесь с реализациями интерфейса уважения, если его нет, предоставьте реализацию. Если есть реализация, проверьте, есть ли у них аннотация уровня класса как @Component или какие-либо конкретные аннотации. Для информации, связанной с автоматическим подключением, прочтите это.

Другие вопросы по теме