2009-12-02 8 views
8

Я пытаюсь изучить Spring MVC, но был испорчен Grails. В то время как я могу получить базовое веб-приложение, я задавался вопросом, есть ли какие-либо инструменты, которые могли бы выполнить некоторую работу по созданию crud-приложения с учетом базы данных или модели спящего режима? Единственный, который я нашел до сих пор, - http://www.skywayperspectives.org/portal/web/guest/downloads/overview Я не уверен, как взять сгенерированный код и преобразовать его в использование maven или ant для его процесса сборки.Создание простых приложений crud в Spring на основе существующих конфигураций базы данных или спящего режима?

+0

Я просто оставлю это здесь, в случае, если кто заинтересован в генераторах CRUD с открытым исходным кодом: https://github.com/topics/crud-generator?l=java – naXa

ответ

3

Я никогда не пробовал, но похоже, что Appfuse Maven Plugin (AMP) позволяет вам это делать через Maven. Есть команда mvn appfuse:gen-model для обратного проектирования из базы данных и mvn appfuse:gen для создания остальной части эшафота.

Я думаю, вам нужно запустить их из проекта, созданного с помощью одного из архетипов Appfuse Maven. Вы можете найти руководство по быстрому старту here, чтобы установить его.

Spring Roo также имеет некоторые красивые леса, но у него нет обратной инженерии из базы данных, которую вы ищете. Объекты персистентности должны быть аннотированы как объекты @RooEntity, прежде чем вы сможете использовать леса с этой структурой.

+0

я не могу получить команду Генерировать к работайте в App Fuse, но посмотрели на Spring Roo. Я решил использовать Spring Roo, моя база данных достаточно проста, что я могу вручную создать все необходимые сущности. Мне очень нравится Spring Roo, хотя я не знаю, буду ли я использовать его для производственного приложения, но пока, похоже, не хватает хорошей документации, но я предполагаю, что это будет исправлено в версии 1.0. Также обратная инженерия базы данных указана как запрос с высоким приоритетом. – Jared

0

Я сделал тот же поиск. Наконец посмотрел на JBoss Seam. Кажется, что у шва есть импорт схемы базы данных и генерируется необходимый код и внутренний код. Швы весны Roo очень похожи на шов JBoss, только этот шов там длиннее и более зрелый.

1

Попробуйте springfuse

+1

Сайт говорит, что SpringFuse больше не работает, но ... [Celerio] (https://github.com/jaxio/celerio) генератор кода, который запускал SpringFuse, теперь является Open Source. – naXa

1

Похоже LightAdmin pluggable administration interface для приложений на основе Spring/JPA будет хорошим выбором для вас. Он имеет встроенную Java DSL для настройки интерфейса, и вам нужно всего лишь загрузить банку или объявить зависимость от Maven, включить администрирование домена через web.xml (указать пакет, содержащий ваши сущности JPA) и создать @Administration класс конфигурации для объекта.

В результате вы будете иметь чистый и простой пользовательский интерфейс для CRUD, фильтрации и т.д.

Ниже приведен пример конфигурации:

@Administration(Customer.class) 
public class CustomerAdministration { 

    public static EntityMetadata configuration(EntityMetadataBuilder configurationBuilder) { 
    return configurationBuilder.nameField("firstname").build(); 
    } 

    public static ScreenContext screenContext(ScreenContextBuilder screenContextBuilder) { 
    return screenContextBuilder 
      .screenName("Customers Administration") 
      .menuName("Customers").build(); 
    } 

    public static FieldSet listView(final FieldSetBuilder fragmentBuilder) { 
    return fragmentBuilder 
      .field("firstname").caption("First Name") 
      .field("lastname").caption("Last Name").build(); 
    } 
+0

Этот проект выглядит многообещающим, но поддерживается ли он? Последний бой на GitHub был два года назад. Кажется, он более мертв, чем жив. – naXa

0

Если вы хотите узнать Spring MVC с реверс- инжиниринг есть minuteproject трек REST-SpringMVC

это умный "обратный инженер вашей БД схемы, обеспечивает

  • JPA2
  • АО ж/пружинного интеграции
  • Spring MVC и интеграция REST

Смарт обратного проектирования означает, что ваши Java объекты не должны следовать вашей БД конвенции (Ex таблицы T_USER может дать Java User класс...)

4

Telosys делает эту работу: http://www.telosys.org

Если у вас есть базы данных он будет использовать его в качестве модели для генерации кода (сущности JPA и т. д.)

Стандартные пакеты шаблонов доступны для создания полностью функционального веб-приложения ication с экранами CRUD

0

Вы посмотрите на crud-rest-gen проект, который объясняет, как использовать crud-maven-plugin для генерации может:

  • АНИ CRUD Rest
  • документация API
  • AngularJS CRUD Administration UI
  • Rest API для получения информации аудита и связанных модульных тестов, если вы используете Hibernate Envers для аудита ваших объектов.

Все, что вам нужно предоставить, это модель данных, содержащая сущности JPA.

Многие образцы предоставлены на основе модели данных Spring PetClinic.

0

Посмотрите на Celerio. Вот ссылка на шаблон Angular 2 + PrimeNG + Spring Boot веб-приложение.

Celerio - это инструмент генератора кода для приложения, управляемого данными. Он может изменять схему базы данных и создавать расширенные приложения на основе CRUD.

screencast показывает, чего ожидать.