Junior — Middle
106
Ի՞նչ է նշանակում @Component, @Repository և @Service նշումները Spring-ում և ինչո՞վ են դրանք տարբերվում։
Ընկերությունները, որտեղ հարցրել են
Prooftech
DCloud
Պատասխան AI-ից
sobes.tech AI
Аннотации @Component, @Repository и @Service в Spring используются для автоматического обнаружения и регистрации компонентов в контексте приложения (dependency injection).
- @Component — базовая аннотация для любого компонента Spring. Помечает класс как Spring bean.
- @Repository — специализированный компонент, предназначенный для слоя доступа к данным. Кроме регистрации как bean, Spring может автоматически обрабатывать исключения базы данных и переводить их в унифицированные исключения Spring.
- @Service — аннотация для сервисного слоя, обозначает бизнес-логику. В основном служит для семантического разделения кода и может использоваться для дополнительных аспектов, например, транзакций.
Пример:
@Repository
public class UserRepository { ... }
@Service
public class UserService { ... }
@Component
public class UtilityComponent { ... }