Статьи

Создание приложения с использованием Spring Roo и развертывание в Google App Engine

Spring Roo — это инструмент быстрой разработки приложений, который помогает вам быстро создавать корпоративные весенние приложения на языке программирования Java. 
Google App Engine — это
технология облачных вычислений, которая позволяет запускать ваше приложение в инфраструктуре Google. Используя Spring Roo, вы можете разрабатывать приложения, которые можно развернуть в Google App Engine. В этом руководстве мы разработаем простое приложение, которое может работать на Google App Engine.

Roo настраивает и управляет вашим приложением с помощью Roo Shell. Оболочка Roo может быть запущена как автономный инструмент командной строки или как область просмотра в среде IDE SpringSource Tool Suite.

Предварительные условия

Прежде чем мы сможем начать использовать оболочку Roo, нам нужно скачать и установить все необходимые предварительные условия.

  1. Загрузите и установите SpringSource Tool Suite 2.3.3. M2. Spring Roo 1.1.0.M2 поставляется в комплекте с STS. При установке STS установщик запрашивает место, где должен быть установлен STS. В этом каталоге будет создана папка с именем «roo-% release_number%», в которой будет содержаться roo. Добавьте% spring_roo% / roo-1.1.0.M2 / bin в ваш путь, чтобы вы могли запускать команды roo из командной строки.
  2. Запустите STS и перейдите на панель инструментов (Справка-> Панель инструментов)
  3. Нажмите на вкладку Расширения
  4. Установите «Плагин Google для Eclipse» и «Плагин DataNucleus».
  5. Перезагрузите STS при появлении запроса.

После установки всего вышеперечисленного мы можем приступить к созданию приложения.

Приложение

ConferenceRegistration.Roo Регистрация конференции — это простое приложение, в котором докладчик может зарегистрироваться и создать сеанс, о котором он хочет поговорить. Итак, у нас будет две сущности: докладчик и презентация. Следуйте инструкциям для создания приложения:

  1. Откройте командную строку операционной системы
  2. Создать каталог с именем конференции-регистрации
  3. Перейдите в каталог регистрации конференции в командной строке
  4. Команда пожарной команды. Вы увидите раковину, как показано ниже. Команда подсказки дает вам следующие действия, которые вы можете предпринять для управления вашим приложением.

  5. Введите команду подсказки и нажмите ввод. Roo скажет вам, что сначала вам нужно создать проект, а для создания проекта вы должны напечатать «проект», а затем нажать TAB. Команда подсказки очень полезна, так как вам не нужно вводить все команды, она всегда даст вам следующие логические шаги, которые вы можете предпринять в этот момент.

  6. Команда Roo hint сказала нам, что мы должны создать проект, поэтому введите команду проекта, как показано ниже
    project --topLevelPackage com.shekhar.conference.registration --java 6

    Эта команда создала новый проект maven с именем пакета верхнего уровня как com.shekhar.conference.registration и создала каталоги для хранения исходного кода и других файлов ресурсов. В этой команде мы также указали, что используем версию 6 Java.

  7. После того, как вы создали проект, введите команду hint снова, roo сообщит вам, что теперь вам нужно настроить постоянство. Введите следующую команду
    persistence setup --provider DATANUCLEUS --database GOOGLE_APP_ENGINE --applicationId roo-gae

    Эта команда настраивает все вещи, необходимые для персистентности. Он создает файл persistence.xml, добавляет в pom.xml все зависимости, необходимые для сохранения. Мы выбрали провайдера в качестве DATANUCLEUS и базу данных в качестве GOOGLE_APP_ENGINE, потому что мы разрабатываем наше приложение для Google App Engine и оно использует свое собственное хранилище данных.  applicationId также требуется при развертывании нашего приложения в Google App Engine. Теперь наша настойчивость настроена.

  8. Введите команду подсказки еще раз, roo скажет вам, что вы должны создавать объекты сейчас. Итак, нам нужно создать нашу сущность Speaker и Presentation. Чтобы создать объект Speaker, мы введем следующие команды
    entity --class ~.domain.Speaker --testAutomatically
    field string --fieldName fullName --notNull
    field string --fieldName email --notNull --regexp ^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$
    field string --fieldName city
    field date --fieldName birthDate --type java.util.Date --notNull
    field string --fieldName bio

    Выше шесть строк создали сущность с именем Session с разными полями. В этом мы использовали ограничение notNull, проверку регулярного выражения электронной почты, поле даты. Spring Roo на движке приложений пока не поддерживает перечисления и ссылки, что означает, что вы еще не можете определить отношения один-один или один-ко-многим между сущностями. Эти возможности поддерживаются в приложениях Spring MVC, но приложения Spring MVC не могут быть развернуты на ядре приложений, как сейчас. Spring Roo jira имеет эти проблемы. Они будут исправлены в будущих выпусках (Hope So :)).

  9. Далее создайте вторую сущность нашего приложения Presentation. Чтобы создать презентацию, введите следующие команды в командной оболочке
    entity --class ~.domain.Presentation --testAutomatically
    field string --fieldName title --notNull
    field string --fieldName description --notNull
    field string --fieldName speaker --notNull

    Вышеупомянутые четыре строки создали сущность JPA под названием Presentation, расположенную в подпакете домена, и добавили три поля — заголовок, описание и динамик. Как вы можете видеть, динамик добавляется в виде строки (просто введите полное имя). Spring Roo в Google App Engine по-прежнему не поддерживает ссылки.

  10. Теперь, когда мы создали наши объекты, мы должны создать лицо нашего приложения, то есть пользовательский интерфейс. В настоящее время только созданный GWT пользовательский интерфейс работает на движке приложения. Итак, мы создадим пользовательский интерфейс GWT. Для этого типа
    gwt setup

  11. Next you can configure the log4j to Debug level using the following command
    logging setup --level DEBUG
  12. Quit the roo shell
  13. You can easily run your application locally if you have maven installed on your system, simply type «mvn gwt:run» at your command line shell while you are in the same directory in which you created the project. This will launch the GWT development mode and you can test your application. Please note that applications does not run in Google Chrome browser when you run from your development environment. So, better run it in firefox.
  14. To deploy your application to Google App Engine just type
    mvn gwt:compile gae:deploy

    Он спросит вас учетные данные механизма приложения (emailid и пароль).

Я надеюсь, что это руководство поможет вам в создании приложений, которые можно развернуть в Google App Engine с помощью Spring Roo. Вы можете протестировать приложение @
http://roo-gae.appspot.com/