Spring Autowiring class vs. interface?

У меня есть конфигурация Spring:

 

Класс TheClass реализует TheInterface . Тогда у меня есть этот (гипотетический) Java-код:

 @Autowired TheInterface x; @Autowired TheClass y; 

Автомашина TheInterface работает, но аутсорсинг TheClass терпит неудачу. Spring дает мне NoSuchBeanDefinitionException для classа.

Почему вы можете подключить интерфейс, а не class?

Как правило, оба будут работать, вы можете autwire интерфейсы или classы.

Вероятно, в вашем контексте есть автопрокси-генератор, который переносит ваш beoo-компонент в сгенерированный прокси-объект. Этот прокси-объект будет реализовывать TheInterface , но не будет TheClass . При использовании autoproxies вам необходимо запрограммировать интерфейс, а не реализацию.

Вероятным кандидатом являются транзакционные прокси – вы используете Spring-транзакции, используя AspectJ или @Transactional ?

  • Инъекция Мокито издевается над весенним бобаном
  • Spring Security и @Async (перепутаны проверенные пользователи)
  • исключить @Component из @ComponentScan
  • Использование Spring, сопоставление с root в web.xml, статические ресурсы не найдены
  • Как избежать исключения «Circular view path» с использованием теста Spring MVC
  • Данные Spring: поддерживается «delete by»?
  • Как я могу зарегистрировать глобальный настраиваемый редактор в Spring-MVC?
  • Как java-настроить отдельные источники данных для весенних пакетных данных и бизнес-данных? Должен ли я это сделать?
  • Как регистрировать HttpRequest и HttpResponse в файле?
  • Как использовать Spring Security без сеансов?
  • Невозможно Autowire @Repository аннотированный интерфейс в Spring Boot
  • Interesting Posts

    Как получить предыдущий элемент в ng-repeat?

    Панель состояния iOS 7 возвращается к стилю iOS 6 по умолчанию в приложении iPhone?

    Индекс Solr против сохраненного

    Как восстановить MBR и загрузочные окна 7 из GRUB rescue?

    Есть ли способ изменить цвет «выделенного файла» в Windows 7?

    C ++ printf с std :: string?

    Cron Советы для того, чтобы не выполнять задания cron в праздничные дни (понедельник трехдневного выходного дня)

    Как проверить, существует ли NSDate между двумя другими NSDates

    Как я могу округлить значение float до двух постсимвольных позиций?

    Greasemonkey для IE (8)?

    Плагин Phonegap: как преобразовать строку Base64 в PNG-изображение в Android

    Visual Studio 2012/2013 Экспресс автономная установка / активация

    Поворот изображения без обрезки в OpenCV в C ++

    Регистрация активности пользователя, телеметрия (и переменные в глобальных обработчиках исключений)

    Проверка доступа к токену на стороне доступа к Facebook для iPhone-приложения

    Давайте будем гением компьютера.