Встречается на собеседованиях • сегодня
В чем разница между @Component, @Repository и @Service
Все три аннотации являются стереотипными и помечают класс как Spring-компонент, но имеют семантические различия:
@Component- базовая аннотация для любых Spring-managed компонентов@Repository- специально для DAO/репозиториев (добавляет автоматическую трансляцию SQL-исключений в Spring DataAccessException)@Service- для бизнес-сервисов (чисто семантическая разметка)
Пример:
java
@Component
public class MyComponent {}
@Repository
public class UserRepository {}
@Service
public class UserService {
private final UserRepository userRepository;
public UserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
}На функциональном уровне все три аннотации эквивалентны - Spring обрабатывает их одинаково. Разница лишь в семантике и дополнительном поведении у @Repository.

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