❓ В чём разница между @Component, @Service и @Repository в Spring?
Все три аннотации делают класс Spring-бином, но различаются по семантике:
— @Component: базовая аннотация, универсальный бин без конкретной роли.
— @Service: указывает, что класс содержит бизнес-логику. Используется для читаемости и логической группировки.
— @Repository: помечает DAO-слой (доступ к данным). Плюс Spring автоматически оборачивает методы в блок try-catch для DataAccessException.
⚠️ Разница не в функциональности, а в намерении разработчика. Spring их обрабатывает по-разному только для @Repository (например, при работе с базой данных).
🐸 Библиотека собеса по Java
Post #846
2.79K
- 🔥 13
- 👍 6
- 👏 2