Configuration de ressort dans un projet multi-module
Je suis nouveau au Printemps et a obtenu une situation à ce projet unique avec de multiples modules dont un module web. Module Web utilise Spring MVC, mais je me demandais si je peux avoir le Ressort principal de configuration au niveau du projet, qui prend soin de l'ensemble du projet, afin que je puisse en prendre plein les avantages du framework Spring.
main
-module1
-module2
-web
+spring3.1, spring-security
Quelle serait la meilleure configuration pour ce cas?
source d'informationauteur Daniel Kim | 2012-01-19
Vous devez vous connecter pour publier un commentaire.
L'accumulation de mise en page et exécution CLASSPATH sont deux choses différentes. Même si vous définissez distinct
applicationContext.xml
fichiers ou@Configuration
classes dans différents modules, ils pourrait sont fusionnés en un seul CLASSPATH.Cela étant dit
module1
etmodule2
peut déclarer leurs propres contextes, mais depuis le CLASSPATH est fusionné au moment de l'exécution, un seul contexte principal sera créé. Aussi, si vous choisissez d'utiliser le CLASSPATH de numérisation en un seul module, il pourrait pick-up classes (haricots) annoté avec@Service
dans d'autres modules.Dans
web
module, ce qui devrait également avoir des dépendances sur le Printemps bibliothèques de base, dépendra aussi de laspring-web
MVC etspring-security
. Ce module va créer de l'enfantweb
contexte, qui a accès aux principaux contexte mais pas dans l'autre sens.Évidemment, vous ne devez avoir qu'un seul exemplaire de chaque bibliothèque dans votre uber-JAR (
ear
?)Nous avons ce genre d'architecture où je travaille. Nous avons décidé d'utiliser la ContextLoaderListener (Printemps Écouteur d'Événement) dans le module web.
Puis, dans le serverApplicationContext.xml, nous importons tous les modules contexte fichiers :
Ainsi que vous tirer parti de printemps contexte de chargement lors de l'application web initialisation du contexte.