Spring Roo против Appfuse создать слой службы / Дао - PullRequest
6 голосов
/ 26 декабря 2009

Я ищу отзывы опытных пользователей о Spring Roo и Appfuse. Как вы думаете, что лучше справляется с реверс-инжинирингом таблиц базы данных и созданием сервисного уровня, дао-уровня и сущностей jpa?

Если я не ошибаюсь, Spring Roo в настоящее время не может реконструировать базу данных.

Ответы [ 4 ]

3 голосов
/ 06 декабря 2010

Просто быстрое обновление, чтобы проинформировать всех пользователей, которые сталкиваются с этой темой сейчас (или, по крайней мере, после сегодняшнего дня :)); С новым выпуском 1.1.0 Spring Roo теперь поддерживает инкрементный обратный инжиниринг баз данных из коробки. Смотрите этот выпуск объявление .

В качестве комментария к актуальному вопросу: я не думаю, что оба из этих двух способов намного лучше, чем другие в фактическом создании сущностей, но между AppFuse и Spring Roo, конечно, существует большая разница, кроме генерации сущностей. , Если вам действительно нужны DAO, это то, что выходит из коробки в AppFuse и частично помещается в Spring Roo, но есть также отличный аддон для Spring Roo (аддон Hades), который отлично справляется с этой задачей, может быть даже лучше, чем AppFuse. По моему скромному мнению, главная причина для использования AppFuse заключается в том, что если вам требуется другой Web Framework (например, Wicket. Tapestry или JSF) в качестве внешнего интерфейса, то Spring MVC или GWT, поскольку в настоящее время это единственные хорошо поддерживаемые веб-фреймворки в Spring Roo ( впрочем, больше, как Flex и т. д.). Другая причина, по которой вы можете перейти на AppFuse, - это если вы хотите использовать IDE с полной поддержкой intellisense и дополнением кода, но не хотите использовать Eclipse (вы можете использовать другие IDE, и сборка работает отлично с Spring Roo, но из-за к файлам AspectJ, которые не распознаются NetBeans, другие IDE, кроме Eclipse, в настоящее время плохо выполняют завершение кода для сгенерированных / управляемых файлов Spring Roo).

Но если вы не против Eclipse (или даже лучше Spring Tools Suite) и хотите использовать GWT и / или Spring MVC, я бы порекомендовал Spring Roo. Основными причинами выбора Spring Roo, по моему скромному мнению, являются более высокая производительность, гораздо лучшая поддержка, гораздо более высокая скорость и активность, более низкая кривая обучения (для быстрой генерации приложений CRUD) и, конечно, Rails, такой как командная оболочка, из которой вы можете быстрая настройка и настройка вашего приложения.

Ps. Обратите внимание, что я не использовал AppFuse активно более года, поэтому мои знания о AppFuse немного устарели.

2 голосов
/ 28 марта 2010

Roo - это хорошо, чтобы быстро собрать вещи (круговое отключение - это замечательно) ... но отсутствие готового к использованию уровня услуг ставит мои потребности в тупик. Я знаю, что могу делать аннотации @Services и правильно размещать код, как указано в документации (слишком много работы при запуске). Хотелось бы, чтобы Ру дал мне выбор иметь слой «сервис + дао» ... из коробки. Это бы (сделало) / сделало Roo убийственным приложением, imho

1 голос
/ 08 января 2010

Проблема ROO-435 на самом деле является нашей самой востребованной функцией, поэтому я буду реализовывать ее в Spring Roo в течение следующих нескольких недель. Тем временем предложение Джейсона использовать инструменты Eclipse Hibernate для создания аннотированных объектов JPA является немедленным решением, полностью совместимым с Roo.

1 голос
/ 28 декабря 2009

Вы правы, что не можете выполнить обратный инжиниринг базы данных в Roo. Для этого есть открытый элемент JIRA, за который вы можете проголосовать.

Однако вы можете попробовать использовать Eclipse Hibernate tools для обратного инжиниринга вашей базы данных, а затем измените эти объекты, сделав их объектами Roo. Это, вероятно, потребует много ручной работы.

Для AppFuse есть плагин AppFuse Maven , который может создать для вас весь проект AppFuse из существующей базы данных. Я не уверен, работает ли он в настоящее время, потому что последний человек, которому я упомянул это, сказал, что они не могли заставить его работать.

В зависимости от ваших требований, вы также можете попробовать Grails Framework . Существует инструмент под названием GRAG , который может реконструировать приложение Grails из базы данных.

...