今回紹介するSpring Roo(以下、Roo)は、2009年12月31日にバージョン1.0.0がリリースされたばかりのSpringSourceの新しいプロダクトだ。

Rooは、コマンドラインからソースを自動生成するツール。Rooが開発された目的は、生産性の向上及び仕様変更や機能追加にも耐えうる継続的な開発を容易にすることである。

Rooが作成するソースは、Java界隈においてメジャーなフレームワークを利用しており、これまで培ってきたJava技術者の知識や経験を生かしつつ、よりクリエイティブに、より楽しく作業できることを目指している。

生産性に関しては、以前のSpringフレームワークは、設定ファイルを大量に記述しなければいけないなど批判されることもあった。Springフレームワークのバージョンアップと共に必要となる設定ファイルの量は確実に少なくなっているものの、それでも依然として相当量の手間がかかる。しかし、Rooを使えば開発者の作業量は劇的に減り、「Spring = 高生産性」という印象さえ抱くようになる。注目のプロダクトであることは間違いない。

Rooの特徴

それでは、具体的にRooがどんなツールであるのかを見ていこう。

Rooは、コマンドラインを利用してソースを自動生成するツールであると冒頭で述べた。これまで自動生成を行うツールはいくつかあったがRooはこれまでの自動生成ツールとは一線を画すツールとなっている。

具体的には、自動生成した後もモデルクラスの変更に対して、ビューやコントローラクラスが自動で再作成される。また、コマンドラインツールのため、GUIベースのツールに比べ、低スペックな開発環境でも動作させることができる。今までのツールでは、再作成することができなかったり、高スペックな開発環境が必要であるなどの問題があった。

Rooが作成するソースでは、以下のようなフレームワークが使われている。

  • Spring Framework
  • Spring MVC
  • Spring Javascript(Dojo)
  • Apache Tails
  • JPA系O/R(Hibernate、EclipseLink、OpenJPA)

そのほかにRooでは、jUnitやSeleniumのテストケースやSpring Security、Spring Web Flowのソースも簡単に自動生成することができる。Rooを使用しなくなった場合、プロジェクトからRooの依存性を削除することも可能となっている。

Rooを利用すると以下のようなアプリケーションを簡単に作成することができる。

Rooで作成したアプリケーションの例