Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: vesterna12 23. 04. 2023, 22:40:25

Název: Spring boot - @Service
Přispěvatel: vesterna12 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/  (https://spring.io/guides/gs/accessing-data-mysql/) nikde nevidim @Service.
V tutorialech, kde sleduju se vsak @Service stale pouziva.
Název: Re:Spring boot - @Service
Přispěvatel: JavaDevelovepr 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ý.
Název: Re:Spring boot - @Service
Přispěvatel: Ondrej Nemecek 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.
Název: Re:Spring boot - @Service
Přispěvatel: Vočko Szyslak 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 (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