Middle
Koja je razlika između anotacija Component, Repository i Service u Spring-u?
sobes.tech АИ
Одговор од АИ
Sve ove anotacije su specijalizovane @Component. One se koriste za automatsko prepoznavanje Spring komponenti putem skeniranja classpath-a.
Glavne razlike su u semantici i planiranoj upotrebi:
@Component: Opšta stereotipna anotacija za bilo koju Spring komponentu. Može se koristiti za klase koje ne spadaju u specifičnije kategorije.@Repository: Označava klasu koja obavlja ulogu skladišta podataka. Spring automatski konvertuje izuzetke specifične za pristup podacima u ujedinjenu hijerarhiju izuzetaka Spring-a za klase sa ovom anotacijom.@Service: Označava klasu u sloju servisa aplikacije. Obično sadrži poslovnu logiku aplikacije. Koristi se za poboljšanje čitljivosti koda i bolju strukturu aplikacije.
| Anotacija | Svrha | Semantika |
|---|---|---|
@Component |
Opšti Spring komponent | Opšti, univerzalni |
@Repository |
Skladište podataka | Pristup podacima, DAO |
@Service |
Sloj usluga, poslovna logika | Poslovna logika, servis |