Sobes.tech
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