Встречается на собеседованиях • сегодня
В чем разница между аннотациями component, repository и service в Spring
Все три аннотации являются специализированными версиями @Component и используются для автоматического обнаружения бинов.
@Component- базовая аннотация, отмечающая класс как кандидат для автоматического создания бина. Используется для любых компонентов.
-
@Repository- помечает класс как DAO/репозиторий. Добавляет автоматическое преобразование SQL-исключений в Spring DataAccessException. -
@Service- указывает, что класс содержит бизнес-логику. Не добавляет особой функциональности, но улучшает читаемость кода.
Пример:
java
@Component
public class MyComponent {}
@Repository
public class UserRepository {}
@Service
public class UserService {}Все три аннотации работают одинаково с точки зрения DI, но имеют разные семантические значения. @Repository и @Service являются более конкретными вариантами @Component.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы