2010-07-19 15 views
4

Je travaille sur une application Web Java avec Wicket, Spring et Hibernate. L'application web n'est pas particulièrement grande (j'ai un DAO et un service), mais je voudrais offrir aux utilisateurs qui déploient l'application un assistant de démarrage un peu comme ceux trouvés dans Wordpress. Lorsque la page Web est accédée pour la première fois (aucune base de données n'est créée/aucun utilisateur), je souhaite que l'utilisateur puisse entrer les paramètres de base de données (nom d'utilisateur, mot de passe, nom de base de données, type de base de données). l'application Web pour créer toutes les tables qu'elle utilisera.Comment créer un premier assistant de démarrage avec Wicket? (Création d'une table de base de données, etc.)

Comme je suis nouveau sur Wicket et le développement Web Java, je ne sais pas comment on pourrait y arriver. Habituellement, lors de l'interaction avec le DAO (comme la création d'un utilisateur), la table de base de données est créée à la demande (si elle n'existait pas déjà) - du moins, c'est ce à quoi cela ressemble.

Existe-t-il un moyen d'extraire le SQL pour les objets de domaine mye que mon application utilisera via la couche service-> DAO?

Maintenant, je configure l'accès à la base de données via des filtres; src/main/config/application-DEV.properties par exemple. Si je veux utiliser un assistant tel que décrit, je suppose que je devrais abandonner l'utilisation de fichiers de propriétés?

Toute aide est grandement appréciée.

Répondre

1

Je suis souvent cela, car il est pratique courante dans de nombreux systèmes PHP/Perl, mais semble compliqué en java/printemps etc.

tout d'abord: utiliser portillons-extensions pour the wizard functionality

Qu'est-ce que Je ferais alors est simple, je déclarerais tous mes haricots de printemps comme paresseux et utiliser les propriétés du système pour les configurer (avec un PropertyPlaceHolderConfigurer). J'utiliserais l'assistant pour obtenir ces propriétés la première fois, puis je les écrirais dans un emplacement bien connu du système de fichiers (la base de données serait meilleure, mais c'est un problème de poulet/oeuf). Ensuite, j'initialiser le contexte de l'application en utilisant les propriétés du système. Le problème ici est: Je ne pense pas qu'il existe un moyen portable d'accéder au système de fichiers à partir d'une application web, je pense que chaque serveur d'application peut gérer l'accès au système de fichiers différemment, donc vous devez faire attention.