The Spring Blog

Engineering
Releases
News and Events

Using a Hybrid Annotations & XML Approach for Request Mapping in Spring MVC

In Spring 2.5 it is possible to use annotations to configure all parts of a web application. Seeing annotations applied is particularly interesting in the Web layer where developers traditionally rely on the SimpleFormController and the MultiActionController for form page handling. The introduction of annotations has created a third option, one that does not require a base class while still offering the flexibility of previous approaches.

While it is easy to see the elegance in using annotated POJOs to implement Controllers, the benefit is not as clear in the area of URL-to-Controller mappings. What would it be like to define all your URL mapping rules using annotations? Indeed this is one area in which centralized configuration has worked well for developers of Spring MVC applications.

Read more...

SpringSource Tool Suite Released

This year's EclipseCon was the first that we attended as a company. We had quite a few talks, which were all well received and we announced the beta program for SpringSource Tool Suite. Overall we all had a very great time and we got lots of feedback from the Eclipse community about the projects in the Spring Portfolio and especially what we are doing in the web space. I'll make sure to forward all the feedback to the project leads in the coming weeks. Since EclipseCon is coming to its end today, I finally found time to sit down and write about what we introduced at the conference.

Read more...

Spring Dependency Injection & Java 5 (including slides and code)

I’m writing this as I’m on my way to Cairo. We’re flying just West of Italy and I have clear view on the Italian coast line, with its blue waters and waves gently moving towards shore. It must be nice down there now. I’m heading to Cairo for a meeting of the Egyptian User Group, organized by Ahmed Hashim, who no doubt will have done an excellent job, I’m sure of that. I’ll be presenting on Spring with the theme this time being Dependency Injection, type safety and Java 5. Yesterday (March 14th that is), I did almost the same presentation at the Profict Wintercamp in Loenen, NL for an audience of 60 of 70 I think.

Read more...

Spring Batch 1.0.0.rc1 Released

I’m pleased to announce that Spring Batch 1.0.0.rc1 has been released.  You can access this release via the Spring Maven Milestone Repository (browse) or via the Download Page.

This is the first release candidate for the Spring Batch 1.0.0 release with an anticipated final release on 28 March.  The major changes for this release are:

  • Improvements in Reference Documentation
  • Reorganization of packaging structure in spring-batch-infrastructure and spring-batch-core
  • Merging of the spring-batch-core and spring-batch-execution modules
Read more...

Spring Web Flow 2.0 M4 - Feedback Requested

The Web Flow team has been working hard on Web Flow 2. We just reached our 4th milestone and will enter release candidate status as early as next week. The 2.0 final release is scheduled for the end of the month.

Between now and 2.0 final, we’d like your feedback! If you are an application developer currently using Web Flow 1.x, or evaluating Web Flow for use in your project, please give 2.0 M4 an evaluation and let us know what you think. If you are a web framework provider integrating the Web Flow engine into your framework, we encourage you to evaluate the refined hooks in 2.0 M4 and give us a shout out.

Read more...

Spring Web Flow 2.0 M4 Released

Dear Spring Community,

We are pleased to announce that Spring Web Flow 2.0 M4 is now available.  Download | Documentation

This release firms up the Web Flow 2 architectural model, including how SWF 2 integrates with Spring MVC, JavaServerFaces, and Ajax.  It also introduces many new features and improvements, including:

2.0 M4 New and Noteworthy

  • The introduction of a simplified XML flow definition syntax.   See the Spring Travel reference application for an example of the new syntax.
    • Use of the version 2 syntax reduces the size of a version 1 flow definition by up to 50%.  As an example, Spring Travel 1.0.5 consists of ~200 lines of flow-application code across six artifacts.  The latest 2.0 M4 version consists of 93 lines of code across two artifacts, a 50% reduction with four less files to maintain. 
Read more...

Spring Batch 1.0.0.m5 Released

Spring Batch 1.0.0.m5 is available today via the s3 Milestone repository (browse at http://s3browse.com/explore/maven.springframework.org/milestone/org/springframework/batch). For more information, please see the Spring Batch downloads page at http://static.springframework.org/spring-batch.

The main change in m5 from the user’s point of view is the configuration of jobs, steps and the launcher environment through various factory beans. Several key user concerns have been addressed by the new BatchListener group of interfaces. There are also some changes to key interfaces in the API, like ItemReader and ItemWriter, which have allowed us to separate concerns better between the user and the framework. There is a section on the website describing in detail how to migrate from 1.0.0.m4 to 1.0.0.m5 (http://static.springframework.org/spring-batch/migration/1.0-m4-m5.html).

Read more...

Spring Framework 2.5.2 Released

Dear Spring community,
 
I’m pleased to announce that Spring Framework 2.5.2 has been released. Download | Documentation
 
This is the second update release in the Spring 2.5 series. It fixes all issues reported since 2.5.1 and introduces various enhancements throughout the framework:

  • Restored full Spring 2.0 compatibility for specific extension points
  • Extended SQL error code mappings for MS SQL, MySQL, PostgreSQL and Oracle
  • Revised JDBC BeanPropertyRowMapper with refined value extraction logic
  • Support for the GlassFish/JBoss JCA WorkManager as TaskExecutor backend
  • Support for Eclipse Persistence Services 1.0 M4 (the EclipseLink JPA provider)
  • Compatibility with the WebSphere JPA provider (derived from OpenJPA)
  • @RequestMapping supports "!myParam" expressions for non-presence of a parameter
  • @RequestMapping’s "params" attribute supported at the type level as well
  • Revised JSP CheckboxesTag and RadioButtonsTag (for strict HTML compliance)
Read more...

Spring Integration 1.0 Milestone 2 Released

Dear Spring community,

I am pleased to announce that Spring Integration 1.0.0.m2 has been released.
Download | Reference Documentation | JavaDoc

This is the second milestone release of this addition to the Spring Portfolio. To see a list of the new features and improvements since Milestone 1, view the changelog. For more information, visit the Spring Integration Home. Also, stay tuned to the SpringSource Team Blog for a Spring Integration update early next week.

Mark Fisher
Spring Integration Lead

Read more...

Enabling Test Driven Development in GWT client code

In the past months I’ve been working with various clients on projects using Google Web Toolkit [GWT]. I like GWT primarily because of the Java to javascript compiler. This is the key to the door letting mere mortal Java developers create RIA’s without having to learn a new language.

I’ve allways been a fan of test driven development, and to my disappointment at first sight it looked like TDD and GWT were not going to play together.

Testing GWT code is a bit problematic. The core of the problem is that GWT code is compiled to javascript before it is run. In many cases a GWT.create() statement is used to hook into the dynamic binding mechanism. When executed in normal Java environment this statement causes an exception.

Read more...