SpringSource Tool Suiteとは?

Spring FrameworkはJava開発で広く利用されているオープンソースのアプリケーションフレームワークだ。DIコンテナを中核に様々なフレームワークが構築されており、Spring FrameworkはSpringSource社 (現在は買収されVMware社の一部門となっている) から提供されている。本稿で紹介するSpringSource Tool Suiteは主にこのSpring Frameworkを使用した開発を支援するための統合開発環境で、Spring同様SpringSource社から提供されている。

STSはダウンロードページからZIPファイルもしくはインストーラ形式で入手可能だ。また、すでにインストール済みのEclipseに更新サイトからインストールすることもできる。更新サイトからのインストール手順についてはこちらのドキュメント (PDF)を参照して欲しい。

図1: STSのスプラッシュスクリーン

Springを使用したアプリケーションの開発支援機能

STSの主要な機能がSpringを使用したアプリケーションの開発支援機能だ。以下のようにウィザードでSpringを使用する様々な形式のプロジェクトを作成できる。

図2: Springテンプレートプロジェクト作成ウィザード

SpringではDIの設定をXMLファイルで行うが、このXMLファイルの編集を支援するためのエディタが用意されており、GUIでBeanの登録を行うことができるほか、Beanの依存関係をグラフで表示することができる。グラフにはcontext:component-scanでアノテーションによって自動登録されたBeanも表示される。また、Beanのクラス名などが間違っている場合はエラーとして表示されるため、設定ファイルの誤りにもすぐ気づくことができるだろう。

図3: Bean定義ファイルエディタ (Beanの登録)

図4: Bean定義ファイルエディタ (グラフ表示)

また、STSにはSpring Rooにも対応している。Rooはコマンドラインベースの自動生成ツールだが、AOP技術を使用するなど、他の自動生成ツールとは一線を画すものとなっている。Rooの対話型シェルをEclipse上で利用可能なRoo Shellビューや、GUI形式で利用可能なウィザードが提供されている。

図5: Roo Shellビュー

この他にもSpringMVCでのパスとコントローラのマッピングを一覧表示するビューや、Spring Web Flowのフロー定義ファイルを編集するためのエディタなどがある。

図6: @RequestMappingsビュー

図7: Spring Web Flowのフローエディタ

なお、STSにはvFabric tc Serverという、Tomcatベースのアプリケーションサーバが同梱されており、STS上で開発したアプリケーションをこのサーバにデプロイして動作確認を行うことが可能だ。

追加プラグインのインストール

Spring以外にもGroovy / Grailsをサポートするプラグインや、Subversion / Git / PerforceなどVCSやHudson / Jenkins、Tracなどと連携するためのプラグイン、EclEmma / FindBugs / PMDといったユーティリティ的なプラグインなどを追加でインストールすることができる。それぞれのプラグインはSTS専用というわけではないが、ダッシュボードから手軽にインストールできるようになっているのは便利だ。

図8: 追加プラグインのインストール

また、Google App Engine、VMware Cloud Foundryといったクラウドサービスと連携するためのプラグインも用意されており、STSからクラウド環境へのデプロイが可能となっている。

まとめ

SpringはJavaにおけるDIコンテナのデファクトスタンダードとして広く利用されている。STSはSpringを利用するうえで便利な機能が多数提供されており、RooやMavenのサポートが統合されているなど使い勝手の面でも優れている。

Springは以前と比べると設定ファイルの複雑さや記述量が大幅に軽減されており、専用のツールを使わずともSpringを使用したアプリケーションを開発することは可能だ。しかし、STSを利用することでより効率的に開発を行えるようになるはずだ。Springを利用する場合は是非STSの導入を検討して欲しい。