Dois-je créer plusieurs services (en utilisant le stéréotype Spring `@ Service`) pour faire de la base de données pour les recherches contrôleurs différents?
-
01-10-2019 - |
Question
Je ne sais pas où faire la base de données pour les recherches contrôleurs Spring.
Il semble logique d'utiliser le stéréotype @Service
de printemps et créer plusieurs « services » pour fournir un soutien aux contrôleurs recherche plutôt que de faire des recherches directement dans les contrôleurs.
Est-ce exact ou est-il un endroit plus approprié pour effectuer des recherches de base de données?
La solution
Je ne pense pas que les contrôleurs devraient faire de la base de données des recherches. Si vous fossé votre niveau Web, la fonctionnalité de recherche va.
Je mettrais les derrière une couche d'interfaces du référentiel. Vous pouvez les tester sans niveau Web de cette façon. Il pourrait également être une couche de service distinct qui possédait des unités de travail et les transactions. Lookups doivent être en lecture seule, afin qu'ils puissent être suffisamment en sécurité pour appeler directement des contrôleurs.
C'est l'idiome de printemps recommandé.