InfoQ

News

Spring IDE 2.0 Adds Web Flow and AOP Development Tools

Posted by Ryan Slobojan on Jun 27, 2007 12:24 PM

Community
Java
Topics
Artifacts & Tools
Tags
Spring IDE ,
Spring ,
Spring Web Flow
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

Reply

Exclusive Content

Diary of a Fence Sitting SOA Geek

In this presentation, Mark Little explains the history of SOAP/WSDL/WS-*-based web services and RESTful HTTP and highlights how the two approaches might converge into a single solution.

Flex for XML and JSON

Platforms need interoperability. In this article Flex interoperability with JSON and XML is explored including direct mapping to chart and grid components.

Measuring Agile in the Enterprise: 5 Success Factors for Large-Scale Agile Adoption

Michael Mah analyzes the development process in 5 companies: 2 Agile (one of them BMC) and 3 classic. He presents the factors which contributed to the success of BMC's Agile adoption.

Tom Preston-Werner on Powerset, GitHub, Ruby and Erlang

In this interview filmed at RubyFringe 2008, Tom Preston-Werner talks about how both Powerset and GitHub use Ruby and Erlang, as well as tools like Fuzed, god, and more.

David Laribee on Alt.NET and its Mission

David Laribee discusses the purpose of ALT.NET, its mission and future.

Discover RailsKits and Stop Writing Redundant Code

Ruby on Rails has become a popular Ruby framework for creating web applications in recent years. An aspect of creating a web application is the need to repeatedly create the same base functionality.

A Formal Performance Tuning Methodology: Wait-Based Tuning

Steven Haines talks about tackling web application performance tuning by proposing a method called wait-based tuning.

Shaw and Fowler About Forging a New Alliance

Shaw and Fowler talk about the need for a new relationship between the business department and the IT department. Studies have shown that projects mostly fail due to miscommunication between the two.