Spring tworzy obiekty (beany) i wstrzykuje im zależności, więc kod nie skleja wszystkiego ręcznie. Wstrzykiwanie przez konstruktor jest jawne, wspiera niemutowalność (`final`) i jest najłatwiejsze do testowania.
@Service
class UserService {
private final UserRepository repo;
UserService(UserRepository repo) {
this.repo = repo;
}
}