sql >> Database teknologi >  >> RDS >> Sqlserver

Har jeg brug for et serviceobjekt?

De største grunde til, at jeg har en tendens til at hælde til at have et servicelag, er af følgende to grunde...

  1. Markering af metoder som @Transactional, så alle DAO-anmodninger i denne metode finder sted i en enkelt transaktion.

  2. Jeg kan øge adskillelsen af ​​bekymring fra DAO og brugerrollerne. Jeg kan markere metoder som krævende bestemte brugerroller, og som sådan passer det rigtig godt sammen med Spring Security.

Du kan bare kalde en DAO fra controlleren, men det lader dig hænge, ​​hvis du vil udvide senere. For at få forbindelsen kan du bruge markere tjenesten som @Transactional og DAO'en som et @Repository og Spring vil klare det hele med at få sessionsobjektet til dig og injektion osv.

Jeg har en tendens til (måske forkert) at tænke på servicelaget som en facade, der bliver tilgået, hvad enten det er fra en webservice eller en controller eller hvad som helst, det holder adskillelse.



  1. SQL Server AlwaysOn ( Availability Group ) Arkitektur og trin for trin installation - 4 Tilføj og fjern databasetrin

  2. Ingen forespørgselsresultater for model [App\Products] Laravel

  3. MySQL LIMIT i en korreleret underforespørgsel

  4. Hvad er salt, når det forholder sig til MYSQL sha1?