Spring / Hibernate Entity Management Web Interface / Пользовательский интерфейс - PullRequest
6 голосов
/ 18 декабря 2010

У нас есть серверное приложение, которое предоставляет определенную модель и набор служб, построенных на этой модели, для определенного клиентского интерфейса через несколько протоколов. Это тип серверного приложения, в котором после настройки не требуется много ручного вмешательства. Однако время от времени (особенно при первом развертывании решения) может потребоваться некоторое создание и связывание определенных объектов модели.

Это решение построено на Spring, Spring MVC и Hibernate (среди прочего) с использованием аннотаций JPA для ORM.

Мой вопрос: Кто-нибудь знает каркас, который позволит мне очень быстро настроить (в идеале чисто через конфигурацию) веб-интерфейс для управления (CRUD) объектами? Это не не должно быть причудливым, а не не должно быть причудливым (я могу управлять безопасностью изнутри сервера приложений). Однако он должен быть в состоянии обрабатывать сложные отношения между сущностями (отображения коллекций, перечисления и т. Д.).

Например: приложение имеет объект User, с которым связан типичный объект Role (каждый пользователь имеет 1 роль). Прямо сейчас, единственный способ определить это без создания нашего собственного веб-слоя с нуля:

  1. Создание операторов SQL для импорта новых пользователей (и их ролей)
  2. Иметь какой-то сценарий (например, с использованием Ant), который использует конфигурацию Spring / Hibernate для связывания и сохранения нового объекта Role () и User ()

Очевидно, было бы проще, если бы у нас был базовый веб-интерфейс (который нам не нужно разрабатывать самим), который поставляется с сервером для выполнения таких задач (создание, обновление, удаление, ...).

Ответы [ 5 ]

5 голосов
/ 19 декабря 2010

Голые объекты , OpenXava и Spring Roo , все могут делать то, что вы ищете.

3 голосов
/ 14 июля 2013

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

Вот пример конфигурации:

@Administration( User.class )
public class UserAdministration {

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

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

  public static FieldSet listView( final FieldSetBuilder fragmentBuilder ) {
    return fragmentBuilder
           .field( "firstname" ).caption( "First Name" )
           .field( "lastname" ).caption( "Last Name" ).build();
  }
2 голосов
/ 19 декабря 2010

Для более подробной информации о @duffymo в Grails есть механизм начальной загрузки, куда вы можете вставить необходимые данные при запуске приложения. Вы можете написать код так, чтобы вы могли определить, есть ли справочные данные в начальной загрузке, и вставить только, если вам это нужно; как только все будет готово.

Его особенно изящный в коде код может обнаруживать среду, в которой он работает, при необходимости делать разные вещи в разных средах.

Наконец, если вы используете оборудование Grail для строительных лесов, оно создаст для вас экраны Crud по умолчанию. Вы можете запустить CRUD-операции буквально за минуты.

2 голосов
/ 18 декабря 2010

Я бы попробовал Grails сделать это. Он создан для быстрой разработки веб-приложений CRUD. Он основан на Groovy, Spring и Hibernate.

0 голосов
/ 11 октября 2016

Для генерации экранов CRUD вы можете использовать Telosys Tools .

Позволяет генерировать экраны CRUD веб-приложения из существующей модели базы данных с настраиваемыми шаблонами Velocity: https://sites.google.com/site/telosystools/

См. Учебные пособия: https://sites.google.com/site/telosystutorial/ (например, вы можете использовать Spring MVC + JPA)

...