The Spring Blog

Engineering
Releases
News and Events

A Java configuration option for Spring

Thanks to our philosophy of pluggability and a lot of hard work in the implementation, the Spring IoC container (like most of the rest of Spring) is extremely flexible.

One point that is often missed is that Spring configuration need not be in XML, although the XML format is by far the most commonly used. Spring has its own internal metadata format in the form of the BeanDefinition interface and subinterfaces. The BeanFactory and ApplicationContext implementations that represent IoC container instances are powered by this Java metadata, and are quite separate from metadata parsing, which is normally performed by BeanDefinitionReader implementations.

Read more...

SimpleJdbcTemplate: Spring 2.0 and Java 5

In the run up to The Spring Experience I’ve been busy but I’ve noticed that Rod’s been really active on the blogging front. So in some spare time in airports and on planes today, I’ve decided to do a little blogging.

One of the biggest balancing acts that we in the Spring community have is to make sure that we stay backwards compatible while still innovating. Part of that innovation is taking advantage of new features and constructs in later versions of Java such as Java 5. Since the 1.2.x branch, we’ve seen some of this with things like the @Transactional annotation and our JMX auto-detection based on the @ManagedResource annotation. In the end these are great features and have greatly simplified development (at least mine anyway), but they really amount to moving metadata into the code. What we hadn’t seen was the actual simplification of APIs.

Read more...

XML Syntax Sugar in Spring 2.0

If you’ve followed October’s Spring 2.0 release, you will know that one of the big new features was XML extension name spaces: the ability to define new XML elements and attributes that generate Spring metadata, and can be used alongside regular bean definitions. This provides a valuable new extension point and makes Spring configuration both more simpler to use for many repeated tasks and more powerful.

However, there is also a sweet little piece of syntax sugar that you may not have noticed–probably because no one in the Spring team has gotten around to telling you… Having promised myself for a while that I was going to do a code-centered blog next, here goes.

Read more...

Spring Framework 2.0.1 Released

Dear Spring community,

We are pleased to announce that Spring 2.0.1 has been released. Download | Docs | Changelog.

This is the first maintenance release for Spring 2.0, including fixes for most bugs that have been reported since 2.0 final as well as many minor enhancements. This release also introduces OpenJPA support and GlassFish weaving support. Furthmermore, it features redesigned AspectJ support internals and an improved bean definition tooling SPI.

As always, please see the changelog for the details.

Read more...

Spring LDAP 1.1.1 Released

Dear Spring Community,

We are pleased to announce that Spring LDAP version 1.1.1 has been released. This is an update release that adds several new features and fixes a few problems that were in 1.1. Download | ChangeLog | Documentation | API

A summary of the more important changes:

  • Added capability to use server-side controls in search.
  • DirContextAdapter.getNameInNamespace() now returns the full DN.
  • DistinguishedName now supports multi-valued RDNs separated by a ‘+’ sign, like "cn=Rod+sn=Johnson", for example.
  • Added lookup methods that take an array of return attribute names.
  • Upgraded Spring to 2.0 internally. Spring 1.2.8 is still supported.
Read more...

Spring Framework: The Origins of a Project and a Name

I am regularly asked about the origin of the name “Spring.”

The name goes back to late 2002. In November 2002, I published Expert One-on-One J2EE Design and Development. The book was accompanied by 30,000 lines of framework code, which had accounted for a good deal of the year full-time I put into writing the book. (Writing a 750 page book is enough work on its own; writing a substantial framework to go along with it is sheer masochism. It was hard.) Many of the fundamental concepts of the Spring Framework were there: an already capable IoC container, with BeanFactory and ApplicationContext and sophisticated Dependency Injection (although that name was not coined until late 2003); an early form of what become Spring MVC with Controller, HandlerMapping and friends; the template concept; JdbcTemplate and the concept of technology-agnostic data access exceptions…

Read more...

Last chance to join 500+ others in Australia

If you’re reading this blog, chances are that you already know Spring is a pretty popular framework. Most J2EE developers who’ve ever used it simply love it, as illustrated by 12+ books, 1,000,000+ downloads, 14,000+ forum members etc. Still, even I was surprised when my Australian Spring user group announcement a little over a week ago generated this much interest… As of today, we’ve had over five hundred registrations to attend these three meetings. Indeed, we’ve needed to move the Sydney meeting to larger premises, with the Brisbane and Melbourne meetings almost booked out. If you’re located in Australia and would like to come along, I’d encourage you to register ASAP to avoid disappointment (don’t forget to also subscribe to Australasia Spring Interest to hear about future events).

Read more...

Oracle, Open Source and Commodization

I was in San Francisco for Oracle World. I even spoke briefly in Thomas Kurian’s keynote on Java middleware. But Neelan and I had to leave on Tuesday and missed the Big Deal: Larry Ellison announcing that Oracle are offering support for Linux.

This is an interesting event from the perspective of the open source business. What are the wider implications?

Oracle are offering support for an open source product that they did not create and don’t control.

This is possible for a number of reasons:


  • Linux is not a product. It is a class of technology, and companies or organizations assemble, document, distribute and support products.
  • Linux support is already commoditized to some extent. Red Hat is only one of several distributors offering support.
  • The leadership of Linux is diffused. Linus Torvalds does not work for a big distributor; Red Hat does more than most but no single company provides clear leadership.
  • The leadership of Linux matters less than you think. Linux is not primarily an engine of innovation, but an engine of commodization.
Read more...

Interface21 / Spring at Oracle OpenWorld 2006

Rod and I are here in San Francisco at Oracle OpenWorld 2006. This is indeed a scene. I can’t decide if “hubris” or “impressive” is the right way to describe it but the numbers don’t lie. They are expecting 45000 people for the conference and the City of San Francisco thinks the show will generate $50-60M in money for the city. Apparently, no Oracle employee is allowed to stay in a hotel north of the airport. One of the more shocking things was that the city blocked off a chunk of Howard St. in front of Moscone for the conference.

Read more...

Spring Web Flow 1.0 RC4 Released

Dear Spring Community,
 
We are pleased to announce that Spring Web Flow 1.0 RC4 has been released.
 

 

Spring Web Flow is a product of the Spring community focused on the orchestration of user interface flow within a web application.

This release contains many improvements and several exciting new features.  We consider it the most stable release to-date and, at last, the release that makes the Spring Web Flow 1.0 final roadmap feature complete.  Spring Web Flow 1.0 final will be released next week with minimal changes.  Between now and then we encourage you to test 1.0 RC4 to help catch any remaining issues before the big 1.0 launch.

Read more...