Spring Batch 1.0.0.m3 Released

Releases | Ben Hale | December 05, 2007 | ...

Spring Batch 1.0.0.m3 is now available via the Spring Portfolio Milestone Repository (browse).  See the Spring Batch downloads page for more information.

We have had a lot of good feedback from the community, and from a large number of Accenture projects that are using or evaluating Spring Batch.  So the 1.0.0-m3 release has quite a range of bug fixes and new features.  The main impact to existing users will be class name changes in the input and output abstractions.  New (non-Maven) users will find it much easier to get started with the new .zip assembly including all dependencies.  There is…

Spring Framework 2.5 Released

Releases | Juergen Hoeller | November 19, 2007 | ...

Dear Spring Community,
 
We are pleased to announce that the Spring Framework 2.5 final release is now available.

Spring 2.5 RC1 Released

Download | Support | Documentation | Changelog 

Spring 2.5 enhances Spring 2.0 with many exciting new features, including:

  • Full Java 6 and Java EE 5 support (JDBC 4.0, JTA 1.1, JavaMail 1.4, JAX-WS 2.0)
  • Full-featured annotation-driven dependency injection, including support for 'qualifiers'
  • Support for auto-detecting application components in the classpath and auto-configuring them as Spring managed objects
  • A new bean name pointcut element in AspectJ pointcut expressions
  • Built-in support for AspectJ load-time weaving based on the LoadTimeWeaver abstraction
  • New XML configuration namespaces "context" and "jms", for maximum convenience
  • A completely revised integration test framework, with first-class support for JUnit 4 and TestNG
  • A new annotation-based controller model for Spring MVC supporting Servlet and Portlet environments
  • Extended SimpleJdbcTemplate functionality, including support for named SQL parameters
  • Officially certified WebSphere support
  • The packaging of Spring Framework jars as OSGi-compliant bundles out of the box
  • The ability to deploy a Spring ApplicationContext as a JCA RAR file, for headless application modules
  • JCA 1.5 message endpoint management, for Spring-managed JMS and CCI message listeners

Check out the series What's New in Spring 2.5? for a walkthrough of the new Spring 2.5 features, including information on how to deploy the Spring sample applications that demonstrate them.

We recommend upgrading to Spring 2.5 from all previous Spring 2.0.x versions in order to benefit from the new features as well as the significant performance enhancements that Spring 2.5 has to offer. Spring 2.5 is designed as a drop-in replacement for Spring 2.0, except for the slightly restructured jar file contents (please see the readme file in the distribution for more information on this).

Please note that Spring 2.5 is still compatible with JDK 1.4.2+ and J2EE 1.3+. Java 1.4 users, for example on WebLogic 8.1 or WebSphere 5.1/6.0, are very welcome to upgrade to Spring 2.5 as well.  We recommend putting the backport-util-concurrent jar on the classpath when running on Java 1.4, which allows Spring and your applications to benefit from significant concurrency enhancements.

Enjoy Spring 2.5,

Juergen Hoeller
Lead, Spring Framework Development

Spring LDAP 1.2 Released

Releases | Mattias Arthursson | October 31, 2007 | ...

Dear Spring Community,

We are pleased to announce the release of Spring LDAP version 1.2. This is a major release that introduces a number of features and bugfixes.

            Download | ChangeLog | Documentation (HTML) | Documentation (PDF) | API

A summary of the more important changes:

  • Java 5 Generics support is now provided with the SimpleLdapTemplate and ParameterizedContextMapper classes.
  • Client-side LDAP transactions.
  • Several additional API methods, simplifying a number of common tasks.

About Spring LDAP
Spring LDAP is a Java library for simplifying LDAP operations, based on the pattern of Spring's JdbcTemplate. The framework relieves the user of the burden of looking up and closing contexts, looping through NamingEnumerations, encoding/decoding values and filters, and more.

The LdapTemplate class encapsulates all the plumbing work involved in traditional LDAP programming, such as creating, looping through NamingEnumerations, handling Exceptions and cleaning up resources. This leaves the programmer to handle the important stuff - where to find data (DNs and Filters) and what do do with it (map to and from domain objects, bind, modify, unbind, etc.), in the same way that JdbcTemplate relieves the programmer of all but the actual SQL and how the data maps to the domain model.

In addition to this, Spring LDAP provides Exception translation from NamingExceptions to a mirrored, unchecked Exception hirearchy, as well as several utilities for working with filters, LDAP paths and Attributes.

Spring-LDAP requires J2SE 1.4 for running. J2SE 1.4 and javacc is required for building the distribution binaries from sources. J2EE 1.4 (Servlet 2.3, JSP 1.2) is required for running the example.

Where to start
Download the distribution from the link above. The distribution contains extensive JavaDoc documentation as well as full reference documentation and a sample application illustrating different ways to use Spring LDAP.

Home
The permanent home of Spring LDAP is at http://www.springframework.org/ldap.

Mattias Arthursson & Ulrik Sandberg, Spring LDAP Project Team

Spring Framework 2.5 RC1 released

Releases | Adrian Colyer | October 23, 2007 | ...

Dear Spring community,

I'm pleased to announce that the first Spring Framework 2.5 release candidate is available! Spring 2.5 is the culmination of the effort that started as Spring 2.1 milestones, enhancing Spring 2.0 with many new features, such as:

  • full Java 6 and Java EE 5 support (JDBC 4.0, JTA 1.1, JavaMail 1.4, JAX-WS 2.0, etc)  
  • full-featured annotation-driven dependency injection (including support for 'qualifiers') 
  • support for component scanning in the classpath (autodetecting annotated classes) 
  • bean name pointcut element in AspectJ pointcut expressions 
  • built-in support for for AspectJ load-time weaving (based on the LoadTimeWeaver abstraction) 
  • further XML configuration namespaces ("context", "jms") for maximum convenience 
  • completely revised framework for integration tests (with support for JUnit 4 and TestNG)
  • new annotation-based controller style for Servlet MVC and Portlet MVC
  • extended SimpleJdbcTemplate functionality (support for named parameters etc) 
  • officially certified WebSphere support (support for the WebSphere 6 UOWManager facility) 
  • Spring framework jars are shipped as OSGi-compliant bundles out of the box
  • Spring ApplicationContext can be deployed as JCA RAR file (for headless application modules) 
  • JCA 1.5 message endpoint management (for Spring-managed JMS and CCI message listeners)

Spring 2.5 RC1 Released

Download | Documentation | Changelog 

Particularly worth mentioning are the annotation-based MVC controller style, the JAX-WS support and the TestNG support, all of which are introduced in this release. Furthermore, this release comes in three different distributions, introducing a minimal standard zip and an intermediate with-docs zip.

We recommend upgrading to Spring 2.5 from all previous 2.0.x versions, in order to benefit from the new features as well as from the significant performance enhancements that Spring 2.5 has to offer. Spring 2.5 is designed as a drop-in replacement for Spring 2.0, except for the slightly restructured jar file contents (see the readme file in the distribution).

Note that Spring 2.5 is still compatible with JDK 1.4.2+ and J2EE 1.3+. Java 1.4 users, for example on WebLogic 8.1 or WebSphere 5.1/6.0, are very welcome to upgrade to Spring 2.5 as well! We recommend putting the backport-util-concurrent jar on the classpath when running on Java 1.4, which allows Spring (and hence your applications) to benefit from significant concurrency enhancements.

Juergen Hoeller
Interface21
http://www.interface21.com

Spring Web Flow 1.0.5 Released

Releases | Keith Donald | October 04, 2007 | ...

Dear Spring Community,

We are pleased to announce that Spring Web Flow 1.0.5 has been released.  This is a bugfix and minor improvement release addressing all issues reported against 1.0.4.  We recommend users upgrade to 1.0.5 from previous 1.0.x versions.

 

Spring Web Flow is a next generation Java web application controller framework.  The framework provides a powerful system for implementing navigation logic and managing application state consistently across a variety of environments.

Related Web Flow News 

Work on Spring Web Flow 2.0 continues, with the next 2.0 release milestone (M2) due out October 30th. 

Interface21 has an full-time position open in Melbourne, Florida on their Web Application Development Products Team, the team responsible for sustaining the development of Spring MVC, Spring Web Flow, and emerging Spring Web technologies.  Experienced web application developers able to work in Melbourne, FL are encouraged to apply.

Working with Spring Web Flow, the definitive guide to Spring Web Flow 1.0, has been published by Erwin Vervaet, founder and co-lead of the project. 

 

Spring Framework 2.0.7 Released

Releases | Juergen Hoeller | October 01, 2007 | ...

Dear Spring community,

I'm pleased to announce that Spring 2.0.7 has been released.

Spring 2.0.7 is a bug fix and minor enhancement release in the Spring 2.0 series, addressing all issues reported since 2.0.6 and backporting various refinements from 2.1 M4.

Spring 2.0 Released

 

Please see the changelog and JIRA roadmap for all the details of the issues addressed in this release.

Juergen Hoeller
Lead, Spring Framework Development
Interface21 - http://www.interface21.com

 

Spring Batch 1.0 M2 Released

Releases | Dave Syer | September 27, 2007 | ...

We are pleased to announce that Spring Batch 1.0 M2 has been released! This milestone release introduces:

  • A set of Core APIs that can be used for configuring and building batch applications.
  • An execution environment and utilities for managing and monitoring multi-step jobs in a single virtual machine.
  • Packaging the framework into three pieces: infrastructure, core and execution.
More details on the features of this release and plans for the future can be found on the website (http://static.springframework.org/spring-batch, http://static.springframework.org/spring-batch/features.html).

We expect at…

Spring Framework 2.1 M4 Released

Releases | Juergen Hoeller | September 10, 2007 | ...

Dear Spring Community,

I'm pleased to announce that Spring Framework 2.1 M4 has been released! This milestone release introduces:

  • 'qualifier' annotation support for choosing a specific @Autowired match;
  • our next-generation Spring TestContext Framework with support for JUnit4;
  • SimpleJdbcCall operation object for stored procedure calls;
  • support for autowiring of scripted objects (Groovy, JRuby, BeanShell);
  • support for Tiles2 views in Spring Web MVC.

Spring 2.1 M1 Released

 

Which leads me to some further exciting news...

We've been reviewing the overall set of features that we introduced in the recent 2.1 milestones:

  • full Java 6 and Java EE 5 support
  • full-featured annotation-driven dependency injection
  • support for component scanning in the classpath
  • "beanName" pointcut element in AspectJ pointcut expressions
  • built-in support for AspectJ load-time weaving
  • further XML configuration namespaces (context, jms)
  • extended SimpleJdbcTemplate functionality
  • officially certified WebSphere support
  • Spring ApplicationContext can be deployed as RAR file
  • JCA 1.5 message endpoint management (for JMS and CCI)
  • completely revised framework for integration tests

We concluded that this goes significantly beyond what we originally planned for Spring 2.1. The version number 2.1, as used for the milestones, does not reflect the significance and the comprehensiveness of the features in this release.

So I'm pleased to announce that the next release will be called Spring Framework 2.5 RC1, with the 2.1 milestones seamlessly leading into Spring Framework 2.5 as the upcoming major release! Check out the Interface21 team blog for the official announcement and for upcoming posts on specific Spring 2.5 features as we move closer to the final release.

Spring 2.1 M4 is here. Long live Spring 2.5! :-)

Enjoy,

Juergen Hoeller
Lead, Spring Framework Development
Interface21 - http://www.interface21.com

First Milestone of the Next Generation Version of Spring Web Flow Released

Releases | Keith Donald | August 28, 2007 | ...

Dear Spring Community,

We are pleased to announce that the first milestone of the next generation version of Spring Web Flow is now available.  Spring Web Flow 2.0 M1 introduces several major new features, including support for flow-managed persistence contexts, improved support for Java Server Faces, full unified expression language (EL) support, and a more comprehensive sample web application.

 

Spring Web Flow 2.0 is a next generation framework for developing Java web application controllers.  The framework offers a unified runtime for executing stateless and stateful client interactions across a variety of environments.

Goal of the Web Flow 2.0 Release

Today, most application developers use Spring Web Flow to implement linear page flows, such as wizards, by plugging Web Flow into their "base" web framework such as Spring MVC.  Such page flows exhibit linear navigational rules, are stateful, and form dynamic, self-contained modules of web application functionality.  A good example is a loan application process: Web Flow's unique flow definition language provides a natural programming model for implementing these types of processes.

The overall goal of Spring Web Flow 2.0 is to formally take the product from what it is today, a framework used primarily to implement linear wizards, to what it was always designed to become: a universal application controller engine for powering all types of client interactions.  Such interactions include wizards, stateless "RESTful" interactions, and finer-grained, non-linear/asynchronous interactions often present in a "web 2.0" application.

Spring Web Flow 2.0 will provide the Spring community with a unified application controller framework and runtime, suitable for executing all types of client interactions, and capable of integrating a variety of view rendering technologies and UI component models.  This unified runtime will enable consistent application of management instrumentation, security, AJAX, and managed persistence, among other unique features.

View the complete Spring Web Flow 2.0 Roadmap.

Web Flow 2.0 M1 New and Noteworthy

The first 2.0 release milestone introduces several major new features on the road to 2.0 final.  These features are described below. 

Flow Managed Persistence Contexts with JPA and Hibernate

Spring Web Flow 2.0 M1 introduces support for Flow Managed Persistence Contexts with Hibernate and JPA.  The new Hotel Booking Sample application included in the release demonstrates this feature.  Here is how it works in the context of the booking sample:

  • When a new hotel booking flow begins, a persistence context is created for you automatically.
  • As you progress through the flow, the persistence context is used for all data access operations automatically.   You do not have to worry about locating the flow-bound EntityManager instance, or managing it in any way.
  • When you authorize a booking, all changes to managed persistent entities are committed and flushed back to the database automatically.  If you choose to cancel your booking, none of your changes are committed.

The graphical Spring IDE view of this Hotel Booking flow is shown below:

Booking Flow 

Improved Support for Java Server Faces (JSF)

Spring Web Flow 2.0 M1 introduces the Spring Faces module (spring-faces-2.0-m1.jar), a component shipped with the Web Flow distribution that contains first-class support for organizations developing web applications with Java Server Faces.  The pre-existing Web Flow + JSF integration has been factored out to this project, and this project will be the home of all future JSF integration work.

The Spring Faces module provides the Spring community a dedicated project for exploring additional JSF integration opportunities.  The initial work in 2.0 M1 introduces integration with Ext, a popular Javascript GUI widget framework.  Several lightweight JSF UI Components are provided that encapsulate the rendering of rich Ext widgets.  The approach we took allows Ext widgets to decorate standard JSF components, adding a desktop-like look-and-feel and additional UI behaviors such as client-side validation.  The following Ext component decorators are provided in 2.0 M1:

  • A date validator component that performs rich client-side validation on a date text field, with a great-looking date chooser control.
  • A text validator that performs rich client-side validation on a free-form text input field.
  • A number validator that performs rich client-side validation on number text fields.

A screen-shot of the date validator control, also used in the Hotel Booking sample application, is shown below:

 

Ext controls look great, and because all UI behaviors execute client side the responsiveness of the UI is excellent.  We will be adding further support in this area in future Web Flow release milestones, as part of the Spring Faces module.

Having a dedicated Spring Faces module also simplifies the process of setting up Spring Web Flow in a JSF environment.  Before 2.0 M1, developers were required to modify faces-config.xml manually to setup the boilerplate Spring/SWF integration plumbing.  With 2.0 m1, this setup is done for you automatically simply by including spring-faces-2.0-m1.jar in your classpath.

Unified Expression Language (EL) Support

Also new in this release is full support for the Unified EL, which provides an alternative to the OGNL-based expression parser currently used by default in Spring Web Flow.  Use of the unified EL is now recommended for a JSF environment, and will become the default for JSF developers in future milestones.

An example EL expression used within the Hotel Booking flow definition is shown below: 

 

The "id" expression above evaluates the current hotel identifier stored in Flow Scope.  Note how there is no need for any explicit flowScope prefix here.  The developer simply references the variable by its name, and the ELExpressionEvaluator handles resolving the variable by searching through the various scopes.  This makes managed-bean references in Web Flow definitions 100% consistent with references in JSF views used for model binding expressions.  For example, see the following snippet from the bookingForm.xhtml view:

 

2.0 Release Notes

Spring Web Flow 2.0 requires Spring 2.0 or greater and Java 1.4 or greater.

Spring Web Flow 2.0 will retain backwards compatability with the 1.0.x XML-based flow definition language as far as possible.  It is expected that some SWF SPIs will change in future Web Flow 2.x milestones, as Web Flow evolves into a complete controller framework.

Future milestones of Spring Web Flow 2.0 will introduce new dialects for defining flows in real programming languages, providing more powerful alternatives to the current XML-based flow definition syntax.  A POJO-based Java flow definition syntax is in the works, as is a Groovy-based approach.  Also, high-level flow dialects for implementing REST-ful and CRUD flows will be introduced.  Because the Web Flow definition API and execution runtime are separate from any concrete flow definition syntax, we can naturally introduce new syntaxes that engineer application controllers at runtime in different ways.

For JSF users, Spring Web Flow 2.0 and Spring Faces run on JSF 1.1 and JSF 1.2.  The UI component libraries in the Spring Faces module are independent of the Web Flow runtime and may also be used with JSF's default navigation handlers.

Spring Web Flow 2.0 will continue to provide full support for Servlet 2.4 or greater, Portlet 1.0 or greater, and JUnit 3.8.1 or greater environments. 

Spring Web Flow 2.0 will continue to run in Struts 1.2 or greater and Spring MVC 2.0 or greater environments, and will also be usable as a standalone web application controller framework by 2.0 final.

Spring Web Services 1.0 Released

Releases | Arjen Poutsma | August 17, 2007 | ...

After two years of development, we are pleased to announce that Spring Web Services 1.0 is now available.

Spring-WS Logo

Download | Reference documentation | API documentation

Spring Web Services is a product of the Spring community focused on the creation of document-driven, contract-first web services. The key features of Spring Web Services include...

  • Making the best practice the easy practice: Spring Web Services makes enforcing best practices easier. This includes practices such as the WS-I basic profile, Contract-First development, and having a loose coupling between contract and implementation.
  • Powerful mappings: You can route an incoming XML request to any handler depending on message payload, SOAP Action header, or XPath expression.
  • XML API support: Incoming XML messages can be handled in standard JAXP APIs such as DOM, SAX, and StAX, but also JDOM, dom4j, XOM, or even marshalling technologies.
  • Flexible XML Marshalling: The Object/XML Mapping module in the Spring Web Services distribution supports JAXB 1 and 2, Castor, XMLBeans, JiBX, and XStream.  Because it is a separate module, you can use it in other environments as well.
  • Reuse of your Spring expertise: Spring-WS uses Spring application contexts for all configuration, which gets you up-and-running quickly. Also, the architecture of Spring-WS resembles that of Spring-MVC.
  • Support for WS-Security: WS-Security allows you to sign SOAP messages, encrypt and decrypt them, or authenticate against them. And it integrates with Spring Security!

Learn more about Spring Web Services at The Spring Experience, December 12 - 15, 2007 at the Westin Diplomat in Hollywood, Florida. Arjen will deliver two sessions on Spring Web Services there: Introducing Spring Web Services, and WS-DuckTyping with Web Services.

See the release notes for a list of fixes since 1.0-RC2.

Finally, a big word of thanks to all involved. It would not have been possible without you!

Get the Spring newsletter

Stay connected with the Spring newsletter

Subscribe

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Tanzu Spring offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all