Então, Luan, na verdade a classe DataService
serve para carregar os dados do arquivo livros.json
e para inicializar o banco de dados, ou seja, garantir que o banco de dados esteja disponível na primeira execução da aplicação.
Já as classes da pasta Repositories
, esses fazem todas as operações pertinentes ao uso do banco de dados, depois que ele já existir e estiver populado com ao menos os dados mínimos necessários.
Por isso eles são injetados. O DataService
para ter um objeto criado assim que a aplicação rodar, se for necessário e o repositório para ter um objeto assim que for necessária uma interação com o banco de dados.