What is the difference between `@Component`, `@Service`, `@Repository` and `@Controller`?

Topic: java, Spring Framework & Microservices. Level: Basic.

The full answer to this question is available to Interview Reader members. See what is free and what Premium adds.