Sobes.tech
Middle

Mi a különbség a Springben a Component, Repository és Service annotációk között?

sobes.tech MI

Válasz az MI-től

Ezek a megjegyzések speciális @Component-ek. Ezeket a classpath szkennelésével automatikusan felismerhető Spring komponensekhez használják.

A fő különbségek a szemantika és a tervezett felhasználás szerint vannak:

  • @Component: Általános sztereotípikus annotáció minden Spring komponenshez. Olyan osztályokhoz használható, amelyek nem illeszkednek szűkebb kategóriákba.
  • @Repository: Olyan osztályt jelöl, amely adatrepozitórium szerepét tölti be. A Spring automatikusan konvertálja az adat-hozzáféréshez kapcsolódó kivételeket egységes Spring kivételhierarchiává.
  • @Service: Az alkalmazás szolgáltatási rétegében lévő osztályt jelöl. Általában az alkalmazás üzleti logikáját tartalmazza. A kód olvashatóságának javítása és az alkalmazás jobb szervezése érdekében használják.
Annotáció Cél Szemantika
@Component Általános Spring komponens Általános, univerzális
@Repository Adatrepozitórium Adathozzáférés, DAO
@Service Szolgáltatási réteg, üzleti logika Üzleti logika, szolgáltatás