Встречается на собеседованиях • сегодня

В чем разница между @Service и @Component

Оба аннотации помечают класс как Spring-бины, но имеют семантические различия:

  • @Component - базовая аннотация для любых Spring-компонентов
  • @Service - специализированная версия @Component, явно указывает что класс содержит бизнес-логику

Ключевые отличия:

  1. Семантика: @Service четко обозначает слой сервисов
  2. Читаемость: делает код более понятным
  3. Возможность AOP: можно точечно применять аспекты к сервисам

Пример:

java
@Component
public class DataProcessor { ... } // общий компонент

@Service 
public class UserService { ... } // явно сервисный слой

На функциональном уровне разницы нет - оба создают бины. Выбор зависит от смысловой нагрузки класса.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы