Запутался в зависимостях
Изучаю курс по 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;
}
Вроде как везде советуют внедрение зависимостей делать через сеттер или конструктор и не рекомендуют через поля, почему авторы курса сделали все наоборот, для меня загадка. Как мне правильно тут реализовать внедрение этих зависимостей?
- В классе сервис создать конструктор с @Autowired?
- А как быть с интерфейсом?