Spring Roo
Spring Roo — фреймворк с открытым исходным кодом для быстрого создания бизнес-приложений на Java. Полученные в результате приложения используют общие технологии Java, такие как Spring Framework, Java Persistence API, JSP, Apache Maven и AspectJ. Spring Roo является частью проекта Spring.
История
Главной задачей проекта Spring Roo является «принципиальное улучшение труда Java-программистов без ущерба для инженерного внедрения и гибкости».
Технология была впервые продемонстрирована в ходе конференции программистов SpringOne Europe 27 апреля 2009 года одновременно с публикацией первого альфа-релиза. Во время конференции прошло обсуждение названия продукта (тогда он находился по кодовым названием «Roo», без «SpringSource»). В результате название «Spring Roo» стало более предпочтительным, вытеснив при этом «Spring Boost», «Spring Spark», «Spring HyperDrive» и «Spring Dart».
Совместимость стандартов и технологий
Roo по умолчанию облегчает создание приложений, которые совместимы со следующими стандартами и основными технологиями:
- Apache ActiveMQ (в качестве встроенной реализации JMS)
- Adobe Flex (через установленный плагин SpringSource)
- Apache Maven (с версии 2.2 и выше)
- Apache OpenJPA (в качестве реализации JPA)
- Apache Solr (поисковый сервер)
- Apache Tiles (стандартный вид MVC)
- Apache Tomcat (hosted execution support)
- AspectJ (используется для АОП с «примесями» для достижения разделения ответственности)
- AspectJ Development Tools (плагин для Eclipse)
- Облачные вычисления (через SpringSource Cloud Foundry, Google App Engine и VMforce)
- Dojo Toolkit (через Spring JavaScript)
- Eclipse (среда разработки) (одновременное выполнение и создание метаданных проекта)
- EclipseLink (в качестве реализации JPA)
- Google Web Toolkit (с GWT 2.1, включая особенность GWT 2.1 — такие как «фабрика запросов»)
- Hibernate (в качестве реализации JPA)
- Java Bean Validation (JSR 303) (включая Hibernate Validator)
- Java Database Connectivity (для использования JPA)
- Java Message Service (интерфейс сообщений производителей и потребителей)
- Java Persistence API (несколько реализаций)
- Java Transaction API (через монитор транзакций Spring)
- Java (версия 5 и выше)
- Java Server Pages (стандартный вид MVC)
- Jetty (hosted execution support)
- JSON (методы в классах для сериализации, десериализации и поддержки REST)
- JUnit (автоматическое тестирование проектов пользователя)
- Log4j (установка и настройка)
- OSGi (Roo основан на OSGi)
- Representational State Transfer (REST)
- Selenium (автоматическое тестирование проектов пользователя)
- Spring Framework (реализовано в версии 3 и выше)
- Spring Security (реализовано в версии 3 и выше)
- Spring Web Flow (установка и определение процедуры)
- SpringSource Tool Suite (STS имеет встроенную консоль Roo и помощник)
- .war (для распаковки пакетов)
Список может быть расширен за счёт дополнений.
Отличия
Spring Roo отличается от других аналогичных приложений по следующим основным причинам: