Запутался в зависимостях

Изучаю курс по Hibernate. И IDEA мне говорит, что не правильно реализовано внедрение зависимостей. Проект на Spring-Boot. у меня есть интерфейс, описывает поведение

public interface BookDao{
    List<Book> findTopBooks(int limit);
}

сервисный класс

@Service
@Transactional
public class BookService implements BookDao {
    @Autowired
    private BookRepository bookRepository;
...
}

и репозиторий

@Repository
public interface BookRepository extends JpaRepository<Book, Long> {
...
}

и конструктор

@Controller
public class BookController {
    @Autowired
    private BookService bookService;
}

Вроде как везде советуют внедрение зависимостей делать через сеттер или конструктор и не рекомендуют через поля, почему авторы курса сделали все наоборот, для меня загадка. Как мне правильно тут реализовать внедрение этих зависимостей?

  1. В классе сервис создать конструктор с @Autowired?
  2. А как быть с интерфейсом?

Ответы (0 шт):