2009-07-12 4 views
1

Je travaille actuellement sur la construction d'une application web java. Je cherchais à utiliser Spring et Hibernate pour avoir une bonne exposition, mais je commence juste à m'ennuyer à lire et à apprendre à leur sujet. Si je vais de l'avant et que je le construis avec JSP et Servlets sur un back-end MySQL, quel genre de réutilisation de code serais-je en train de regarder? J'imagine que les JSP et les POJO seraient plus ou moins identiques, mais qu'en est-il du reste du code?Est-il difficile de convertir une application web construite avec JSP, Servlets & mySQL en une version avec Spring & Hibernate?

Merci!

Répondre

4

Si vous construisez en utilisant servlets, JDBC et OTI JSPs, alors il serait assez facile d'introduire printemps à l'application à une date ultérieure:

  • Remplacez le code de servlet avec les contrôleurs Spring. Ce serait faire un peu de désaffection au printemps, car ils peuvent être bien plus que de simples remplacements de servlets, mais c'est un début.
  • Dans vos DAO JDBC, utilisez les classes de support JdbcDaoSupport et/ou JdbcTemplate de Spring. La majeure partie de votre code JDBC resterait inchangée, vous seriez juste en mesure d'enlever une partie de la plomberie et de laisser le printemps prendre la pression.
  • Si votre application utilise des formulaires de page Web, vous pouvez utiliser la forme taglib de Spring si vous le souhaitez, bien que cela nécessiterait une nouvelle ingénierie des contrôleurs. Vous pouvez simplement laisser les JSP telles qu'elles sont, si vous le souhaitez, complètement non modifiées.
  • Vous pouvez commencer à utiliser votre contexte Spring pour démarrer le câblage automatique de vos contrôleurs et DAO ensemble, réduisant ainsi le câblage écrit manuellement.

Vous pouvez effectuer l'une de ces étapes dans n'importe quel ordre, une étape à la fois. Le printemps est très utile pour être utile autant que vous le voulez, et ensuite vous en débarrasser.

Hibernate est une autre marmite de poisson. C'est gros et complexe, et un peu effrayant pour commencer. Je suggère de m'installer avec le printemps d'abord, puisque le printemps rend Hibernate un peu plus facile à gérer.

0

Cela dépend de

  • combien vous avez la logique métier mélangé avec la logique de présentation
  • si vous utilisez
  • de POJO

Si vous avez la logique biz séparés, et l'utilisation de la plupart du temps POJO, puis c'est plus facile.

Ensuite, cela dépend de combien de printemps et d'hibernation vous voulez utiliser.

  • vous pouvez réutiliser le sql déjà écrit, ou vous pouvez compter sur Mise en veille prolongée pour générer sql pour vous
  • vous pouvez utiliser les haricots gérés printemps
  • vous pouvez utiliser mvc web printemps

Pour une approche générique, vous voudrez réorganiser votre application d'une manière orientée couche:

  • une couche de référentiel qui gère les appels de base de données
  • une couche de gestion, qui contient la logique métier, la transformation de données et n'a aucune dépendance; couche de gestion appelle la couche de référentiel
  • une couche Web, où vous avez vos contrôleurs, la logique de présentation; couche web appelle code de la couche d'affaires
0

refactorisation est toujours difficile de .... Vous devriez considérer la section itérative refactoring (modules/unités logiques).

Le ressort n'est pas invasif. Donc, son utilisation devrait être facile. Jetez un oeil à "ne pas répéter le dao" d'IBM. Ils ont les meilleures pratiques qui vous aident avec une mise en œuvre propre.

Si vous utilisez un ressort, vous devriez jeter un coup d'œil au webmvc de printemps!

1

Il est probable que vous puissiez réutiliser les JSP, en supposant que vous utilisez JSTL et non le code scriplet. Vous allez ajouter des balises Spring.

Hibernate n'est pas nécessaire à 100%. Vous pouvez commencer avec Spring JDBC et migrer vers Hibernate uniquement si vous pensez que cela peut vous aider. J'appellerais cela une deuxième étape à franchir après que vous aurez fonctionné sous Spring.

Le printemps est plutôt bon pour travailler avec d'autres codes. Il ne doit pas être une proposition tout ou rien. Spring vous demandera de créer une interface de service. Vous aurez une couche de persistance. Le web MVC va isoler toutes les préoccupations de vue.Vous utiliserez la servlet du contrôleur frontal de Spring pour router les demandes vers les contrôleurs. Les contrôleurs s'inquiètent de la validation et de la liaison des paramètres HTTP aux objets et de leur transmission aux services pour répondre à la demande.

Vous ne parlez pas de sécurité. La sécurité du printemps sera un bonus.

Questions connexes