The latest version of SpringSource Tool Suite (STS), an Eclipse-based development environment for building Spring applications, supports Spring 3.0 and OSGi Development Tools. SpringSource development team recently announced the release of the first release candidate of SpringSource Tool Suite 2.1.0 version. The new version also supports run time integration with Amazon Elastic Cloud Computing (EC2) and VMware tools.
SpringSource Tool Suite enables Spring applications to be packaged and deployed onto a modular OSGi runtime environment as provided by SpringSource dm Server. STS also incorporates a task-focused user interface to speed development, architecture review tools to guide developers toward best practices, and runtime error analysis with automated resolution lookup to help developers solve problems in running applications.
SpringSource Tool Suite was available as a commercial tool in the past but SpringSource's founder Rod Johnson announced back in April, at the SpringOne Europe conference, that they will release STS suite as a free version. Christian Dupuis recently wrote about this announcement and the new features in the latest release.
The new features in SpringSource Tool Suite 2.1.0 RC1 and the recent Milestone releases include:
Development Tools
Spring Project Nature:
The new Spring Bean Definition and Web Flow Definition file wizard provides the option to automatically add the Spring Project Nature to a new project. The other visual tools like the Project Creation Wizard, rich forms-based Spring Configuration Editor, Quick Fixes and Quick Assist, Bean Creation Wizard, Namespace Configuration Dialog also aid in building Spring-based applications.
Project Templates:
The new release contains several project templates to help jumpstart new Spring-based projects. The project templates include the support for Spring Portfolio projects like Spring MVC, Spring Web Flow, Spring Faces, Spring Batch, Spring Roo and OSGi Bundle for SpringSource dm Server.
Type-aware Bean Reference Content Assist:
A long-standing feature request has been added in STS 2.1.0.M2: content assist for Spring bean references now prefers beans that match property and constructor types. Beans that match the property or constructor argument type get a higher priority and are clearly separated in the content assist proposal UI.
Spring 3.0 M3 Support:
STS has been updated to internally use Spring Framework 3.0.0.M3 to use Spring 3.0 features. The new <task:* /> and <jdbc:* /> are both now available and are integrated into STS as the other Spring namespaces with content assist, hyperlinking and validation. STS also supports @Configuration and @Bean, new annotations introduced in Spring 3.0 version. Spring beans configured by @Bean are visible within the Spring Explorer, Dependency Graph and can be referenced in Spring XML. These new annotations have also been added to the Stereotype and Annotation Grouping Support of STS providing the navigation of configuration classes and validation of the configuration classes.
Spring Roo Integration:
The developers can now configure an external Roo installation to be used inside STS instead of the bundled one. This allows usage of new Roo versions and add-ons without the need of a new STS version. In order to make the productivity advantages of Spring Roo available inside the IDE, STS integrates the Roo Shell and provides a Quick Roo Command Prompt (CTRL+R or CMD+R on Mac). The Roo installation can be configured on a per project or workspace level; this allows to target workspace projects to use different versions of Roo and a different set of addons.
Spring Batch Visual Editor:
The new STS release includes some improvements in the visual editor for Spring Batch to support a broad range of editing tasks. To access the Batch Editor open a Spring XML bean definition file with Batch jobs in it with the Spring Config Editor and select the batch-graph tab.
OSGi Development:
The Java developers now have the tools necessary to visualize, package, and deploy modular applications onto SpringSource dm Server. The OSGi development tools support in STS 2.0 includes the validation of the Bundlor template.mf file along MANIFEST.MF and TEST.MF manifest files.
Runtime Integration Tools
tc Server Instance & Group Management:
The new release of STS allows managing of groups and singe instances of tc Server right inside the IDE. The tc Server integration, introduced with STS 2.0.2, has been extended to allow start and stop operations as well as remote application deployment on tc Server instances that are managed by SpringSource AMS. To configure a group or single instance within STS, open the WTP Servers view and create a new server. In the New Server wizard select SpringSource AMS server type and complete the wizard.
Amazon EC2 Integration:
STS allows to deploy WAR applications, OSGi bundle and PAR projects to dm and tc Server running in the Amazon EC2 cloud. Corresponding AMIs for dm and tc Server have been published by SpringSource. The EC2 integration will automatically handle the setup of the application server cluster and load balancer if required.
VMware Lab Manager:
There is also a view called "Lab Manager" which allows the developers to connect to a VMware Lab Manager installation and browse configurations. The users can start and stop configurations and open consoles for the VM instances right inside the IDE. This feature can be installed from the VMware Eclipse update site. The developers deploying Spring applications within virtualized data centers now have the tools to help with testing and debugging the applications running on VMware Workstation.
SpringSource Tool Suite new release also provides good integration with the recently released Eclipse 3.5 version. Christian Dupuis and Adam Fitzgerald recently wrote about how to install SprintSource Tool Suite 2.1.0.RC1 Eclipse plugin in Eclipse 3.5 Galileo version.
From the team collaboration and task management stand-point, STS, a TaskTop certified tool, extends Mylyn's Task-focused user interface to provide a simple workflow to make it easier for developers to navigate the complex hierarchies of modern enterprise applications. It maintains a focused browsing history for all programming elements opened in the IDE as well as Web resources accessed.