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

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

Все три аннотации являются специализациями @Component и используются для автоматического обнаружения бинов Spring.

  • @Component - базовая аннотация для любого Spring-бина.
  • @Service - логически отмечает класс как сервисный слой (бизнес-логика).
  • @Repository - предназначена для DAO/репозиториев, автоматически преобразует исключения в DataAccessException.

Пример:

java
@Component
public class MyComponent { ... }

@Service
public class UserService { ... }

@Repository
public class UserRepository { ... }

Хотя функционально они эквивалентны, использование специализированных аннотаций улучшает читаемость кода и помогает Spring применять дополнительные функции (например, AOP или обработку исключений).

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

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

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

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