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

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