We know that in the properly cooked DI the composition root knows everything about the application, but services know only about their internal logic and abstractions they depend on. With the
@Component
or
@Autowired
annotations we make services know about the container