Oleg Atamanenko

thoughts about programming

Введение в Spring Roo

Недавно компания Spring Source презентовала новый продукт - Spring Roo. Цель проекта - повысить продуктивность Java-разработчиков. Почитав обзоры, а также потрогав его руками можно сделать вывод о том, что это, в некотором виде, альтернатива AppFuse и Grails.

Описание Spring Roo

  • 100% программирование на Java, предлагающее разработчикам известную, развитую и популярную платформу разработки.
  • Прозрачные, надёжные и продуктивные сервисы среды разработки, такие как помощник кода, отладчики, визуальные отчёты об ошибка и т.д.
  • Экстремально эффективная производительность во время выполнения, безопасность типов и отсутствие зависимостей на Roo во время выполнения.
  • Автоматическая архитектура с использование лучших практик Spring Framework 3
  • Структура проекта основана на Maven2.
  • Работа с БД основана на JPA (например, через Hibernate), 100% совместимость с JPA и переносимость реализации.
  • Встроенная поддержка конфигурирования баз данных, с автоматической настройкой JDBC для большинства популярных баз данных.
  • Прозрачная поддержка внедрения зависимостей (dependency injection) и методов сохранения для всех сущностей, включая полученные через JPA.
  • Поддержка валидации бинов (JSR 303), включая распространение ограничений вплость до DDL базы данных.
  • Автоматические интеграционные тесты на JUnit, которые создаются на базе возможностей интеграционного тестирования Spring Framework.
  • Автоматическая поддержка REST на уровне бэкэнда.
  • Автоматизированные тесты для веб-слоя с использованием Selenium.
  • Динамическое создание finder-методов на JPA QL для сущностей безо всякого кодирования.
  • Интеграция Spring Security, включая безопасность адресов с установкой в одну строку ("install security")
  • Поддеркжа Spring Web Flow одной командой ("install web flow")
  • Поддержка мгновенной отправки почтовых сообщение - даже через удалённые SMTP сервера, как GMail.
  • Встроенная поддержка конфигурирования log4j
  • Использование URL rewriting которое позволяет оставаться ссылкам чистыми и поддерживающими REST.
  • Лёгкое ручное создание веб-контроллеров
  • Поддержка полного цикла жизни приложения с сохранением высокой продуктивности.
  • Использование встроенного сервлет контейнера Tomcat.
  • Полная интеграция с Eclipse и SpringSource Tool Suite
  • Лёгкая в использовании, с поддержка автодополнения, подсказок и контекста командная строка
  • Поддержка автоматизации через скрипты