InfoQ

News

Spring IDE 2.0 Adds Web Flow and AOP Development Tools

Posted by Ryan Slobojan on Jun 27, 2007

Community
Java
Topics
Artifacts & Tools
Tags
Spring ,
Spring Web Flow ,
Spring IDE
Version 2.0 of Spring IDE was released today. InfoQ took the opportunity to speak with Christian Dupuis, Spring IDE co-lead, in order to learn more about this release.  According to Dupuis, the major new features in version 2.0 are:
  • Support for Spring Web Flow - validation and graphical editing of web flows are now available, and the Eclipse Web Tools Project has been extended to provide content assistance and hyperlinking functionality
  • Full XSD-based configuration support - Spring IDE's internal model of bean definitions was completely reworked in order to leverage the Spring Tooling API
  • Spring AOP development tools - support now exists for visualization of both <aop:config>-based and @AspectJ-style cross-cutting references, and for validating configurations such as pointcut expressions
  • Several usability and UI improvements - A new Spring Explorer replaces the previous Beans View, refactorings have been updated to include Spring Beans in some operations, and several new wizards have been added (e.g. Spring Bean configuration file, new Project)
Full details of the changes in version 2.0 are also available. This version of Spring IDE also includes support for several Spring 2.1 language features. InfoQ asked Dupuis to describe these, and he responded:
Spring 2.1 introduces a new bean(<name pattern>) pointcut primitive. This new pointcut primitive is already supported by Spring IDE 2.0. Besides that Spring 2.1 adds a mechanism that scans a package tree for annotated classes and automatically creates Spring bean definitions from the annotation meta data (read more). Support for this is already build into Spring IDE 2.0.

Other new features of 2.1 that are of interest from a tooling perspective are the new and refined namespaces. Currently there is a new <jms:* /> and <context:* /> namespace; some other changes and additions might follow. We are planning to support the namespace once they become stable. So this is basically within the Spring 2.1 RC1 or RC2 timeframe.
Spring IDE 2.0 also fully supports Eclipse 3.3, which is due out later this week.

InfoQ also asked Dupuis about which Spring subprojects were supported by Spring IDE. He had this reponse:

Certainly Spring IDE 2.0 aims to fully support Spring 2.0. As already mentioned we have very specialized support tools for Spring Web Flow. Furthermore Spring IDE 2.0 supports Spring bean configurations that are created by Spring JavaConfig; it even tries to parse the dependencies of bean definitions created by JavaConfig from the Java source code (see here).

Spring Security (aka Acegi) will add comprehensive configuration namespaces in the coming version. Work has been started to get tooling support for this valuable enhancement right with the initial release of Spring Security.

Currently we are not planning to have anything special for Spring Modules. If there is a community need for this, we could add support for Spring Modules' namespaces. It is important to note that Spring IDE 2.0 is open for extension. We are following the Eclipse pattern of defining extension points that allow other plug-ins to contribute functionality. Using Spring IDE's extension points a custom namespace developer is able to plug in support for his namespaces without the need to change Spring IDE code (see here). This is just like adding a NamespaceHandler or BeanFactoryPostProcessor to Spring.

Furthermore we are exposing extension points to contribute custom validation rules for Spring bean definitions.

Finally, Dupuis was asked about future plans for the Spring IDE. He left us with these thoughts:

In the future the team will further enhance and streamline the working experience with Spring IDE: We are trying to put an higher emphasis on Spring's theme of Power and Simplicity. Therefore you can expect a close integration with Mylyn, a plug-in that allows focusing the Eclipse workspace on the current task. We will leverage Mylyn to prioritize content assist in Spring IDE's XML editor extension, filter the Spring Explorer and even collapse uninteresting blocks in your XML bean definition file.

Work on this integration has already been started a while ago. Together with the Mylyn team around Mik Kersten we are planning to release a preview of Spring IDE's Mylyn integration around the Eclipse Europa release later this month.

No comments

Watch Thread Reply

Educational Content

Brian Marick on 4 Challenges and 5 Guiding Values of Agile Software Development

Brian Marick takes us through a quick tour of the most important values and challenges to adopting Agile successfully (they aren't the typical challenges and values we hear in the community).

Are You a Software Architect?

The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect?

Agile – A Way of Life and Pragmatic Use of Authority

The word 'authority' sometimes produces an allergic response in hard-line agilists. Freedom and authority – both are bad if misused and both are good if used in right spirit for a noble cause.

Getting Started with Grails, Second Edition

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Using ITIL V3 as a Foundation for SOA Governance

Those familiar with only ITIL V2 often scoff at the thought that ITIL could serve as a governance framework for SOA. With ITIL V3, the focus of the framework shifted towards service-orientation.

Adrian Colyer on AspectJ, tc Server and dm Server

SpringSource CTO Adrian Colyer discusses AspectJ, SpringSource's dm Server and tc Server products, OSGi and Scrum.

Adam Wiggins on Heroku

Heroku's Adam Wiggins talks about Rails, Background Jobs, Add-Ons, Ruby, and how Heroku manages to work around Ruby's inefficiencies using Erlang and other languages.

SOA as an Architectural Pattern: Best Practices in Software Architecture

For Grady Booch the foundation of a good architecture is patterns, SOA being just one of many patterns. In this Second Life presentation, Booch attempts to bring more clarity on what architecture is.