Sobes.tech
Junior — Middle
104

Jaki jest cel adnotacji @Component, @Repository i @Service w Spring i czym się różnią?

Firmy, w których zadano pytania
Prooftech
DCloud

Odpowiedź od 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 { ... }