La combinaison SPRING + STRUTS + HIBERNATE est elle une bonne solution pour développer une webapp ?
Je viens de lire le chapitre 2 du livre ‘spring live’ de matt raible. Ce chapitre peut être téléchargé gratuitement avec le code source associé :
http://www.sourcebeat.com/TitleAction.do?id=7
Ce chapitre permet de construire une petite application web (CRUD ou Create Retrive Update Detete) utilisant Struts, Spring et hibernate, à partir d’un modèle de projet equinox (equinox est une version allégée de appfuse).
Pour construire l’application en utilisant eclipse il faut lire l’article suivant :
http://www.jroller.com/page/raible?anchor=setup_myusers_in_eclipse
Il est également conseillé de lire l’article suivant pour remplacer la base de donnée HSQLDB par MySQL :
http://www.jroller.com/page/raible?entry=alternate_database_configurations_with_myusers
A la fin du chapitre 2 vous obtenez une application très simple, mais assez élégante et qui utilise pas mal de choses et tourne de préférence sur tomcat :
. Ant pour créer le projet, le déployer, lancer les tests unitaires et Junit, …
. Implémentation de DAO
. Sitemesh, CSS
. Log4j
. Commons Validator
Attention, c’est hibernate 2 qui est utilisé et je ne suis pas certain qu’il soit possible d’utiliser hibernate 3 sans changer la version de spring.
Il existe aujourd’hui beaucoup de combinaisons possibles pour bâtir une application web dans le monde java sans parler du choix de la base de donnée ni du serveur d’application (JSP + SERVLET sans framework complémentaire, JSF, STRUTS, SPRING, JDBC, HIBERNATE, IBATIS …).
La combinaison SPRING + STRUTS + HIBERNATE est elle une bonne solution ? L’utilisez-vous ? Quelles combinaisons avez vous déjà testé ? Quelle solution avez vous retenu ?
Tous ces frameworks prétendent faire gagner du temps aux développeurs ou faciliter la maintenance pour les gros projets. S’ils ne sont pas utilisés correctement ils peuvent faire perdre beaucoup de temps ou entraîner une dégradation des performances.
Dans l’exemple du livre spring live (ch2), spring permet d’implémenter DAO. Il est possible d’implémenter le pattern DAO dans une application struts hibernate sans utiliser spring. Cette solution est présentée dans le livre de Jean Charles Félicité sur struts. Malheureusement la présentation est trop rapide et ne permet pas à mauvais développeur comme moi d’arriver à construire un exemple qui marche.
J’ai essayé de trouver une application struts bien construite pouvant servir de modèle pour un développement professionnel. J’ai trouvé quelques liens et quelques projets :
Quelques liens
http://struts.sourceforge.net/
http://www.java201.com/resources/browse/12-all-21.html
http://www.jroller.com/page/raible/apps
http://home.planet.nl/~beems135/bv/j2ee.html
http://www.springframework.org/node/33
appfuse (permet de créer un projet vide utilisant par exemple Struts+Spring+Hibernate pour Tomcat / MySQL ) https://appfuse.dev.java.net/
jpetstore (version réécrite du Pet Store. Basée sur Struts sans EJB)
http://sourceforge.net/projects/ibatisjpetstore/ http://alanning.freeshell.org/text/jpetstore/jpetstore_win32_install_walkthrough.html
http://www.ibatis.com/jpetstore/jpetstore.html
struts resume (application créée avec appfuse)
http://raibledesigns.com/wiki/Wiki.jsp?page=StrutsResume
ones (exemple Spring, Hibernate, Struts, XDoclet, AspectJ et Maven)
http://sourceforge.net/projects/oness/
http://raibledesigns.com/wiki/Wiki.jsp?page=AppFuse
LogWeb (exmple struts pour configuer log4J)
http://www.codeczar.com/products/logweb/index.html
Connaissez-vous d’autres applications struts dont les sources sont téléchargeables gratuitement (utilisables avec tomcat / mysql) ?
Connaissez vous un bon tutoriel ou livre permettant de construire une application struts hibernate spring ?
Merci d’être arrivé jusqu’à la fin
Partager