Есть предположение, что DI хорош в теории, но на практике полная шляпа. Ибо как написать слой который ни от кого не зависит.
То что вы вынесли в отдельную папку это ещё не DI. Ваш репо как минимум зависит от конфига, например строку подключения к бд передать, или главной аппы, которая будет дёргать ваш репо.
На практике как я понял, всё пихают в уберовский контейнер, или гугловый wire и называют это DI.