Printemps: comment obtenir le contexte de l'Application dans Webapp et programme Autonome
Je suis nouveau sur le Framework Spring. Nous voulons mettre en place (3.1) dans une application web, actuellement en utilisant struts dans la couche web, le service les façades d'affaires et objets de couche de gestion et d'auto-écrit JDBC DAOs dans la couche de persistance (le tout étroitement couplé!)
J'ai créé plusieurs .les configurations xml, un pour le servlet de configuration, la numérisation de la com.mydomain.package web seulement. Un autre sur la couche de service appContext-service.xml qui analyse les com.mydomain.bs et .bo paquets et un pour la couche DAO appContext-persistence.xml la numérisation de l' .dao paquet.
Nous avons quatre projets Eclipse appropriés dépendances de projet: Web, Entreprise, Commune (contient des objets du domaine, Otd, les Exceptions, etc), DataAccess.
Je veux utiliser les annotations lorsque cela est possible et déjà créé un contrôleur MVC, un nouveau service avec interface et un nouveau dao avec l'interface, à l'aide de JDBC modèle, qui fonctionne tous les grands.
Maintenant mes questions sont:
- On ne peut pas ré-écrire tout le code à la fois, nous parlons d'une plus grande base de code ici. Mais que dois-je faire, lorsque le nouveau service est également nécessaire de services d'affaires et des objets qui ne sont pas (encore) de Printemps au courant? Ils ne sont pas des haricots ou de ne pas être créés d'ici le Printemps. Comment puis-je obtenir mon service bean?
- Nous avons plusieurs applications autonomes pour le traitement par lot, nettoyage du système de fichiers et les tables de base de données périodiquement, etc. Ils sont déclenchés par cron (UNIX cron) et ont donc leur propre JVM. Comment aurais-je mieux utiliser le Printemps des services, compte tenu de la différence .les configurations xml?
- Mon installation de sens?
Merci pour toute la perspicacité.
OriginalL'auteur marc82ch | 2012-07-27
Vous devez vous connecter pour publier un commentaire.
Il est très fréquent que l'on laisse printemps gérer le cycle de vie de tous les haricots, sinon il pourrait obtenir un peu délicate. Les objets qui ne relèvent pas du ressort de haricots ne sont heureusement initialisé quelque part. Faire que l'initialiseur d'un ressort de haricot et d'en faire une application sensible au contexte
Configuration autonome de printemps de l'application est très facile. Il suffit de créer un Ressort de XML et de fil de vos haricots (soit par le biais de la numérisation/annotations ou XML). Il n'est pas vraiment recommandé de le faire dans la méthode main, mais vous pouvez facilement comprendre comment obtenir ce programme d'installation de votre application autonome. Gardez à l'esprit que l'application elle-même ne devrait pas vraiment faire beaucoup de cycle de vie de la logique mais laissez Printemps le faire.
Votre installation est parfaitement logique, même si je ne peux pas visualiser l'ensemble de votre portée, votre approche est un bon point de départ pour une grande modularité de printemps de l'application.
2. Je ne voudrais pas utiliser mon appContext-service.xml et appContext-persistence.xml à tous et à écrire une nouvelle appContext.xml pour le lot apps?.
3. Merci. En fait, je ne suis pas sûr de connaître les détails de mon architecture: j'ai quelque chose comme un ProductBO qui est mis en cache (manuellement dans un ConcurrentHashMap). Il y a un autre cache pour le Producteur (une simple entité, qui est utilisé dans des endroits différents dans l'application). Maintenant ProductBO a un Producteur, mais parce que les Producteurs sont mis en cache, je ne voulais pas bétonner les deux, parce qu'un producteur peut être modifiée (la création d'une nouvelle instance de celle-ci, avec le même IDENTIFIANT). Par conséquent, seul le producerID est stocké dans ProductBO et le Producteur chargés à partir du cache sur demande, à l'aide de la ProducerService.
OriginalL'auteur Petter Nordlander