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 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...

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...

Creating OSGi bundles

When approaching OSGi, one of the first concepts that have to be learned is the notion of a bundle. In this entry, I’d like to take a closer look of what a bundle actually is and how a vanilla jar can be transformed into an OSGi bundle.  So, without further ado,

What is a bundle?

The OSGi spec describes the bundle as a "unit of modularization" that "is comprised of Java classes and other resources which together can provide functions to end users.". So far so good, but what exactly is a bundle? Quoting the spec again:

Read more...

Spring Batch Recent Changes and Upcoming m4 Release

We’ve been working really hard on Spring Batch getting ready for the Spring Portfolio 2.5 release train, and I thought it would be a good time to update everyone on what is happening. In this article I’m going to expand a bit on the domain modelling, and our decision to raise the profile of some of the core domain objects, and increase their responsibilities. I will also give a few tastes of what is coming in the next couple of releases leading up to 1.0, so people have a chance to comment if they want to.

Read more...

Some Decisions are Easy – Like SpringSource Acquiring Covalent

My last blog showed how Spring is soaring past EJB. Research by BZ Media and others shows that Apache Tomcat is the leading open source application server with a 64% market penetration. The dominance of Spring and Tomcat is well-known. What people may not know as well is that thousands of organizations are running Spring on Tomcat as their middleware infrastructure. Those organizations want one company to turn to for the products and services they need to be successful.

Today we announced our acquisition of Covalent Technologies. Not only does Covalent bring Apache leadership, but our combined company now has significant leadership on Apache Tomcat and HTTP. Two weeks ago, Sun paid $1bn for the “M” in LAMP. Now that Covalent’s outstanding Apache expertise and services are part of SpringSource, we are strong leaders in the “A”. We have always been about technology leadership, so we're very excited about what we can do together with Covalent. Over the last few years, Covalent has earned a great reputation in the marketplace with its support for Apache projects, including Tomcat and Apache HTTP. Its hundreds of support customers include more than half of the Fortune 500, and household names like Pfizer, Johnson & Johnson, British Telecom (BT), NASA, Intel, Royal Bank of Scotland and Bear Stearns. Our announcement today begins a new phase in the history of our company, and–I believe—the rapidly changing application platform market.

Read more...

Spring 2.5's Comprehensive Annotation Support

One of the central themes behind Spring 2.5 is comprehensive annotation-based configuration. We’ve been talking and blogging a lot about @Autowired, about Spring MVC’s @RequestMapping and also about the new support for annotated tests written with JUnit4 or TestNG. @Autowired is certainly the central one of Spring 2.5’s annotations, being available for use in service components, web components, unit tests - even domain objects when using Spring’s @Configurable with AspectJ weaving. Spring MVC’s @RequestMapping is equally flexible, supporting many variants of handler method signatures.

Read more...

Spring Dynamic Modules 1.0 is here

I am glad to report (along side Adrian) that after 3 milestones and 2 release candidates, Spring Dynamic Modules (formerly known as Spring OSGi) 1.0 has been released.

A lot of features have been improved or added since my previous post (about 1.0 M1); I’ll talk more about them in future entries (there is also the reference documentation that explains the library at length) so I’ll just name a few:

- consistency

We want to provide a powerful, simple and consistent programming model. That’s why Spring Dynamic Modules builds on top of Spring and uses its proven concepts, reliability and ubiquity.

Read more...