DevOps junior
Чем @Component отличается от @Service, @Repository, @Controller?
Ответ
Технически почти ничем — все они помечают бин для регистрации в контексте. Но семантически: @Service — бизнес-логика, @Repository — работа с БД (плюс перевод исключений в DataAccessException), @Controller — веб-слой.
Разбор: Все четыре — стереотипные аннотации, мета-аннотированные @Component, поэтому механически они почти эквивалентны; различие смысловое (слой приложения), а у @Repository добавляется трансляция исключений персистентности в DataAccessException. Неверны выдумки про разный scope, транзакционность @Repository и навязанный порядок инициализации по стереотипу.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.