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 |