0

У меня есть служебный интерфейс UserService и класс внедрения UserServiceImpl. Когда я пытаюсь ввести UserServiceImpl в переменную в классе контроллера, она генерирует NoSuchBeanDefinitionException. Но когда я вставляю интерфейс UserService, он работает нормально.Бетонный класс «Ввод» бросает IllegalArgumentException

Интерфейс UserService помечается @Service. В классе реализации нет никакой аннотации как таковой.

Смутно, почему это происходит?

ответ

1

Реализация должна иметь аннотацию. Не интерфейс. И контроллер должен зависеть от интерфейса, а не от реализации. Вот что позволило бы Spring вставить прокси-сервер AOP, позволяющий совершать транзакции, безопасность и т. Д.

+0

Я читал, что я мог бы также аннотировать интерфейс, и это не имело бы никакого значения. Но большое спасибо за понимание вашей проблемы. –

Смежные вопросы