Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: 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.
-
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ý.
-
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.
-
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