2010-07-19 2 views
4

Я работаю над веб-приложением Java с Wicket, Spring и Hibernate. Веб-приложение не особенно велико (у меня есть один DAO и один сервис), но я хотел бы предложить пользователям, которые развертывают приложение мастера запуска, как и те, которые были найдены в Wordpress.Как начать создание первого мастера запуска с помощью Wicket? (Создание таблицы базы данных и т. Д.)

Когда веб-страница открывается в первый раз (таблицы базы данных не создаются/нет пользователей), я хочу, чтобы пользователь мог вводить настройки базы данных (имя пользователя, пароль, имя базы данных, тип базы данных), а затем я хочу веб-приложение для создания всех таблиц, которые он будет использовать.

Как я новичок в Wicket и Java Web Development Я не уверен, как это можно было бы достичь. Обычно, когда вы взаимодействуете с DAO (например, создаете пользователя), таблица базы данных создается по требованию (если она еще не существует) - по крайней мере, это то, что мне кажется.

Есть ли способ извлечь объекты SQL для mye, которые мое приложение будет использовать через слой службы-> DAO?

Сейчас я настраиваю доступ к базе данных через фильтры; Например, src/main/config/application-DEV.properties. Если я хочу использовать мастер, такой как описано, я думаю, мне нужно будет отказаться от использования файлов свойств?

Любая помощь очень ценится.

ответ

1

Я часто рассматриваюсь в этом, так как это стандартная практике во многих системах PHP/Perl, но кажется сложным в Java/весной и т.д.

Прежде всего: использовать калитку расширение для the wizard functionality

Что Я бы сделал так просто, я бы объявил все свои весенние бобы ленивыми и использовал свойства системы для их настройки (с помощью PropertyPlaceHolderConfigurer). Я бы использовал мастер, чтобы получить эти свойства в первый раз, а затем записать их в известное место в файловой системе (БД будет лучше, но это проблема с курицей/яйцом). Затем я инициализирую контекст приложения, используя свойства системы.

Проблема заключается в следующем: я не думаю, что есть портативный способ доступа к файловой системе из веб-приложения, я думаю, что каждый сервер приложений может обрабатывать доступ к файловой системе по-разному, поэтому вам нужно быть осторожным.

Смежные вопросы