Version 3.0 of the open source Spring Java framework is nearing completion and is set to offer Java developers new capabilities to rapidly develop applications. SpringSource CEO Rod Johnson will detail the new capabilities of Spring 3.0 during the JavaOne conference this week in San Francisco.
Spring is a popular open source Java framework with more than 8 million downloads, according to Johnson. Spring 3.0 will add a new expression language and project Roo for rapid code generation, and it will also boost support for annotations and REST. The new Spring 3.0 release, which is set to be finalized soon, comes as Java standards settle on the new JavaEE 6 specification and developers consider their Java application development choices.
“In Spring 3.0, we’re adding the Spring Expression Language,” Johnson told InternetNews.com. “You can use the expression language anywhere you do configuration in Spring.”
Johnson explained that the expression language works with Java annotations so that developers can write and point to their configurations without the need to write separate XML files. In his view, the expression language increases the number of things a Spring developer can do without requiring XML.
That’s not to say that there is anything wrong with using XML in Spring. In fact, Johnson noted that Spring will continue to support XML in Spring 3.0.
“We think external configuration is important in some cases and we continue to enhance our core XML syntax as well,” Johnson said. “What we have seen emerging as a best practice is the use of Java annotations without the use of any XML for application objects.”
The new configuration capabilities will enable developers to create configurations in annotated Java classes. So instead of an external XML configuration, you can do it in a Java class. Johnson said most developers seem to configure most of their application managed objects purely by annotated Java classes, and not by using any external configurations.
“It’s suited to our approach of enabling developers to take whatever approach they want,” Johnson said. “We want to make sure that Spring is the richest way to allow you to do what you want to do.”
REST Web Services
Spring 3.0 will also significantly expand the Web Services capabilities of the framework with full REST
“What you get is a convenient client-side library for accessing REST service and a way to make it easy to set up REST service URLs,” Johnson said. “This is a feature that was requested by a lot of users. It’s interesting to see that these days there is a lot of demand for REST, as people want lighter-weight solutions.”
In addition to the Spring 3.0 framework, SpringSource developers have been working on a code generation project called Spring Roo (as in Kanga-Roo).
“What it is is a sophisticated roundtrip code generator,” Johnson said. “It enables you to create Java applications using Spring extremely rapidly. Frankly, Java developers today have to do too much work to create projects, and Roo eliminates that.”
As for when Spring 3.0 will become generally available, Johnson expects that to occur in early August, though he’s not entirely certain.
“Spring has always been very driven by the community, so we don’t tend to give precise dates for releases,” Johnson said. “You kind of know you’re done with a major release when the community is happy with it.”