2010-10-21 5 views
3

J'apprends actuellement le printemps. Jusqu'à présent, j'ai créé une application de base composée d'entités Hibernate/JPA, de DAO et de classes qui exécutent une logique métier. C'est ce que j'appelle la couche de service.Séparation de la couche de service de la couche Web dans une application Spring

Si je souhaite maintenant utiliser SpringMVC pour ajouter une interface Web à cette application, comment séparer les deux?

est-ce que je dois créer un projet Web dynamique distinct dans Eclipse pour la couche Web? Si oui, comment puis-je intégrer les deux? Je suppose que je pourrais simplement copier la source de couche de service dans le projet Web, mais cela ne semble pas être la meilleure approche.

Répondre

2

Vous n'avez pas besoin d'un projet distinct, cela dépend si vous réutiliserez vos services ailleurs.

Si vous ne réutilisez pas vos services, ajoutez votre couche Web au même projet, demandez à vos contrôleurs d'appeler votre couche de service et créez-en un fichier WAR.

Si vous souhaitez réutiliser vos services, créez un nouveau projet pour votre couche Web, créez un fichier JAR pour vos services et importez ce fichier JAR dans votre couche Web. Quelque chose comme Maven va aider ici.

+0

Merci. Si l'on adoptait la dernière approche, le JAR contiendrait-il simplement les classes de couche de service, alors elles seraient câblées ensemble par un fichier Spring xml résidant dans le projet web? – William

+0

Oui, le JAR aurait juste les services. Vous pouvez ensuite les connecter avec votre config Spring. – GaryF

+0

Ca a du sens, merci :) – William

2

Utilisez-vous Maven? Si oui, vous devriez create a webapp project et ajouter votre "projet de base" comme une dépendance.

Questions connexes