Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
В чем разница между Spring аннотациями @Component, @Repository и @Service?
Аннотация @Component является общей и может использоваться для создания любого бина. Аннотация @Repository специализирована для компонентов доступа к данным и добавляет возможности работы с исключениями. Аннотация @Service используется для сервисного слоя и обозначает компоненты, содержащие бизнес-логику.
Что такое паттерн Repository и какую задачу он решает
Repository — это паттерн, который выносит работу с хранилищем данных в отдельный слой. Бизнес-логика работает с репозиторием, а не напрямую с БД или ORM. Это упрощает тестирование и замену источника данных. Код становится чище и менее связным.
Какие преимущества дает использование паттерна Repository
Repository уменьшает связность между бизнес-логикой и слоем хранения данных. Он упрощает тестирование, так как репозиторий легко заменить на заглушку. Код становится чище и понятнее, а смена БД или ORM требует меньше изменений. Это особенно важно в больших и долгоживущих проектах.
Что даёт аннотация @Repository помимо регистрации бина?
@Repository не только регистрирует бин, но и включает перевод исключений. Spring перехватывает низкоуровневые исключения доступа к данным и преобразует их в единый иерархический набор. Это упрощает обработку ошибок. Также аннотация логически обозначает слой доступа к данным. Благодаря этому код становится чище и понятнее.
Рейтинг:
3
Сложность:
7
Рейтинг:
5
Сложность:
6
Рейтинг:
5
Сложность:
5
Рейтинг:
4
Сложность:
5