2010-10-23 21 views
3

Je souhaite créer une application MVC à l'aide de Spring (premier temporisateur ici). En tant que tel, je veux intégrer Jetty comme moteur de servlet. Jetty ne suit cependant pas strictement le modèle java beans, donc je ne peux pas lancer certaines classes à partir de Spring (elles utilisent des setters surchargés ou des méthodes init non setter comme addXYZ).Meilleures pratiques du framework Spring: déploiement d'un composant compatible non-bean

Quelle est la pratique acceptée/recommandée pour structurer ce projet? Il est évident que tout mon code s'intègre bien dans le modèle MVC, mais pour la jetée:

  • Est-ce que j'encapsulent tous Jetty (ou tout autre composant amical non haricots) dans mon propre haricot facile à Spring? Est-ce que j'essaie d'instancier autant de que possible au printemps et d'étendre simplement les classes qui ne se conforment pas au haricot pour qu'elles se comportent comme des haricots appropriés?
  • Y a-t-il une autre option? ?

Répondre

3

D'une manière générale, je suis pour le 2ème point - à savoir essayer d'utiliser les services de printemps comme factory-method, init-method, <constructor-arg> et des choses comme ça pour surmonter le fait que quelque chose est pas tout à fait le printemps convivial. Il est rarement possible de configurer les haricots avec le printemps. Et pour les cas où il est impossible, créer des emballages

Vous pouvez également instancier les haricots 3ème partie Programatically:

+0

Oh, ne me prenez pas commencé sur leur documentation, j'ai regardé demi-esprit avec un visage vide à ce doc pendant des heures. :) Il est assez vieux je pense (références de paquetages invalides et il utilise des composants obsolètes), donc je vais la route intégrée et suivre les exemples de code up-to -date. Merci pour cette suggestion, ça aide d'avoir des nouvelles d'autres personnes, je n'ai pas de copains assis près de là. –

+1

Une autre option qui vous vient à l'esprit est l'utilisation de Java Config ... vous permet de passer au-delà des méchants (comme le problème de setter surchargé apparemment inoffensif). Je serais heureux de recevoir d'autres commentaires sur cette idée. –

+0

@David Parks - oui, JavaConfig est aussi une bonne option. J'ajoute maintenant une mise à jour. – Bozho