Spring boot - @Service

vesterna12

  • ***
  • 124
  • byrokracie zabíjí kreativitu
    • Zobrazit profil
    • E-mail
Spring boot - @Service
« kdy: 23. 04. 2023, 22:40:25 »
Chtel bych se sezptat jestli se ve Spring boot stale pouziva @Service?
V prikladech ze spring.io  https://spring.io/guides/gs/accessing-data-mysql/ nikde nevidim @Service.
V tutorialech, kde sleduju se vsak @Service stale pouziva.
« Poslední změna: 23. 04. 2023, 22:42:15 od vesterna12 »


Re:Spring boot - @Service
« Odpověď #1 kdy: 23. 04. 2023, 23:34:54 »
Nejsem žádný odborník, zkusím napsat svůj názor. @Service se používá, jenom nevím, kde bys ji ve výše uvedeném příkladu chtěl použít. Je tam entita, controller, žádná byznys logika, resp. findAll() je v kontroléru. Pokud melu blbosti, někdo mě opraví :) EDIT: Já za sebe bych servisu udělal, jsem tak zvyklý.

Re:Spring boot - @Service
« Odpověď #2 kdy: 24. 04. 2023, 08:15:02 »
Ten příklad je jednoduchý sample na přístup k Mysql, proto je tam Repository ale není tam třeba Service. Pokud by to byl příklad na členění komponent ve složitějším projektu, tak by se tam Service nejspíš vyskytovala.

Re:Spring boot - @Service
« Odpověď #3 kdy: 24. 04. 2023, 19:49:04 »
Vid: https://github.com/spring-projects/spring-framework/blob/main/spring-context/src/main/java/org/springframework/stereotype/Service.java

Jedna sa hlavne o stereotyp - semantika - niektore casti Springu alebo ine kniznice by mohli rozlisovat rozdiely v semantike.@Repository vs @Component je jasne (Spring Data skenuje repozitare). Nepamatam si za tie vsetky roky,ze by nieco ine v Spring ekosysteme rozlisovalo medzi service a component. Konkretne Service je vlastne Component.... rad sa priucim,ci sa niekto s diskutujucich stretol vyslovene so skenovanim len @Service a nie @Component.

Vyuzitie vo vlastnych projektoch je jasne,custom semantika servisnej vrstvy,custom AOP pointcuty alebo nieco ine - ale to uz si asi radsej spravim vlastnu anotaciu resp. meta-anotaciu