Middle
Aký je rozdiel medzi anotáciami Component, Repository a Service v Spring?
sobes.tech AI
Odpoveď od AI
Všetky tieto anotácie sú špecializované @Component. Používajú sa na automatické rozpoznávanie komponentov Spring pomocou skenovania classpath.
Hlavné rozdiely spočívajú v sémantike a plánovanom použití:
@Component: Všeobecná stereotipná anotácia pre akýkoľvek komponent Spring. Môže sa použiť pre triedy, ktoré nezapadajú do špecifickejších kategórií.@Repository: Označuje triedu, ktorá plní úlohu dátového úložiska. Spring poskytuje automatickú konverziu výnimiek súvisiacich s prístupom k dátam do zjednotenej hierarchie výnimiek Spring pre triedy s touto anotáciou.@Service: Označuje triedu v vrstve služieb aplikácie. Zvyčajne obsahuje obchodnú logiku aplikácie. Používa sa na zlepšenie čitateľnosti kódu a lepšiu štruktúru aplikácie.
| Anotácia | Účel | Sémantika |
|---|---|---|
@Component |
Všeobecná súčasť Spring | Všeobecná, univerzálna |
@Repository |
Dátové úložisko | Prístup k dátam, DAO |
@Service |
Servisná vrstva, obchodná logika | Obchodná logika, služba |