Подтвердить что ты не робот

Генерация кода Java

Каковы ведущие рамки для генерации Java-кода?

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

Кто-нибудь знает хорошие рамки?

Спасибо.

4b9b3361

Ответ 1

cglib - мощная, высокопроизводительная и качественная библиотека генерации кода

jet/speed используют шаблоны.

Если вы хотите создать целое приложение, ознакомьтесь с JBoss Seam.

Ответ 2

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

Ответ 3

http://www.andromda.org

AndroMDA (произносится: andromeda) - это среда генерации исходного кода, которая следует за парадигмой модели управляемой архитектуры (MDA). Он принимает модели (ов) из CASE-инструмента (ов) и генерирует полностью развертываемые приложения и другие компоненты.

Я использовал его, и он очень мощный. Он не только генерирует файлы конфигурации и код из UML, оставляя разработчику только реализацию бизнес-методов для разработки, но также поддерживает сгенерированный код с использованием известных шаблонов десертов.

Ответ 4

[ SQL2JAVA] - отличный инструмент. Он генерирует код [[strong > CRUD] для схемы базы данных. Этот пул соединений недостаточно хорош, вы можете настроить его на класс менеджера, чтобы поддерживать свой собственный пул.

Кроме этого, если вы заинтересованы в разработке Model Driven Development (MDD), вы можете использовать [ AndroMDA] или [ Borland Together], один из лучших инструментов eclipse].

Если вы заинтересованы в дальнейшем продвижении кода и в разработке программного обеспечения на основе моделей, вам нужно взглянуть на [ openArchitectureWare].

Другие инструменты разработки java, поддерживающие генерацию кода, - [ Ломбок] и [ Ложка]. Проект Lombok предлагает такие функции, как автоматическое создание методов getter/setter по умолчанию, автоматическое управление ресурсами (с использованием аннотации @Cleanup) и обработку исключений, основанных на аннотациях.

[ cglib], [ Velocity template] и [ AppFuse] также замечательны.

Ответ 5

Попробуйте Xtext (http://www.eclipse.org/Xtext/). Вы используете XText для определения DSL, XText будет использовать редактор Eclipse, поддерживающий этот DSL. Затем вы можете использовать XPand для определения шаблонов для генерации всего текста (например, java souce code).

Ответ 6

SQL2Java генерирует код базы данных CRUD из схемы DB.

Ответ 7

Я использовал менеджера баз данных Друидов: http://druid.sourceforge.net/

Он начинается с db, который может быть запрограммирован с обратной связью, и он может генерировать документацию, sql, классы и файлы на основе таблиц и полей.

Используемый язык шаблонов - это скорость.

Программное обеспечение расширяемо через плагиновую систему.

Ответ 8

Я предполагаю, что ASM является самой популярной библиотекой генерации байт-кода Java. Это библиотека байткодом наиболее низкого уровня есть, но есть и другие библиотеки генерации кода более высокого уровня, которые построены на ASM, хотя использование ASM непосредственно не слишком трудно либо (одна выгода от прямого использования является то, что размер ASM JAR очень маленький). Некоторые пользователи ASM упоминаются в http://asm.ow2.org/users.html


EDIT:

В обновленном вопросе, в котором упоминается пример использования ( "У меня есть скелет класса, и мне нужно сгенерировать его с разными динамическими частями для разных случаев использования".), мой ответ заключается в том, чтобы улучшить дизайн, чтобы все дублирование кода удаляются и не требуется генерация кода. Чтение различных шаблонов дизайна может дать некоторые идеи о том, как это сделать. Для более конкретного ответа вам нужно будет показать какой-то код и более конкретно о ваших потребностях.

Ответ 9

AtomWeaver http://www.atomweaver.com теперь находится в открытой бета-версии. Это IDE генерации кода, который можно использовать рядом с вашей текущей IDE (так что это не фреймворк, а автономное приложение). С его помощью вы можете создать шаблонный код, но также полный проект.

AtomWeaver реализует ABSE (Atom-Based Software Engineering), которая является формой разработки программного обеспечения на основе моделей (не имеет ничего общего с UML или MDA).

Это, по сути, система на основе шаблонов.

Ответ 10

Еще одно голосование за движок шаблонов Velocity. Я использовал его в нескольких проектах, для создания шаблона EJB2.1, объектов базы данных и т.д. Отлично работает и довольно легко учиться.