如何使用Wicket创建第一个启动向导? (数据库表创建等)

时间:2010-07-19 09:42:23

标签: java hibernate spring maven-2 wicket

我正在使用Wicket,Spring和Hibernate开发Java Web应用程序。 Web应用程序并不特别大(我有一个DAO和一个服务),但我想为部署应用程序的用户提供一个启动向导,就像在Wordpress中找到的那样。

首次访问网页时(没有创建数据库表/没有用户),我希望用户能够输入数据库设置(用户名,密码,数据库名称,数据库类型)然后我想要Web应用程序,用于创建将使用的所有表。

由于我是Wicket和Java Web Development的新手,我不确定如何实现这一目标。通常,在与DAO交互时(例如创建用户),数据库表是按需创建的(如果它还不存在) - 至少这对我来说是这样的。

有没有办法通过service-> DAO层提取我的应用程序将使用的mye域对象的SQL?

现在我通过过滤器配置数据库访问;例如,src / main / config / application-DEV.properties。如果我想使用如上所述的向导,我想我需要放弃使用属性文件?

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

我经常考虑这个,因为它是许多PHP / Perl系统中的标准做法,但在java / spring等中似乎很复杂。

首先:对the wizard functionality

使用wicket-extensions

我会做的很简单,我将所有的spring bean声明为lazy并使用系统属性来配置它们(使用PropertyPlaceHolderConfigurer)。我将使用向导第一次获取这些属性,然后将它们写入文件系统中的一个众所周知的位置(DB会更好,但那是鸡/蛋问题)。然后我使用系统属性初始化应用程序上下文。

这里的问题是:我认为从Web应用程序访问文件系统没有可移植的方法,我认为每个应用服务器都可能以不同的方式处理文件系统访问,因此您需要小心。