Middle
Mis vahe on annotatsioonidel Component, Repository ja Service Springis?
sobes.tech AI
Vastus AI-lt
Kõik need annotatsioonid on spetsialiseerunud @Component. Neid kasutatakse Spring komponentide automaatseks tuvastamiseks classpath'i skaneerimise teel.
Peamised erinevused seisnevad semantikas ja kavandatud kasutuses:
@Component: Üldine stereotüüpiline annotatsioon kõigile Spring komponentidele. Võib kasutada klassidele, mis ei kuulu spetsiifilisematesse kategooriatesse.@Repository: Märgib klassi, mis täidab andmehoidla rolli. Spring pakub automaatset erandite konverteerimist andmetega seotud eranditest Springi ühtsesse erandite hierarhiasse.@Service: Märgib klassi rakenduse teenusekihis. Tavaliselt sisaldab rakenduse äriloogikat. Kasutatakse koodi loetavuse parandamiseks ja rakenduse parema struktuuri saavutamiseks.
| Anotatsioon | Eesmärk | Semantika |
|---|---|---|
@Component |
Üldine Spring komponent | Üldine, universaalne |
@Repository |
Andmehoidla | Andmetega juurdepääs, DAO |
@Service |
Teenuse kiht, äriloogika | Ärilogika, teenus |