The Spring Blog

News and Events

More on Java Configuration

As most of you already know by now, Spring is not just about XML as lately, a number of ‘official’ extensions to the core offer alternatives way for configuring the container.

Spring Java Configuration 1.0 M2 was among the products released around JavaOne and, while still marked as a milestone, had an important number of updates and bugfixes:

  • the root package has changed to
  • scoped beans are fully supported
  • the bean name generation can be customized
  • the distribution contains a 'transformed' sample (petclinic) which uses XML, JavaConfig and Groovy.

Infrastructure changes in Spring 2.1-m2

With the release of Spring 2.1-m2, some significant changes have been made to the infrastructure of the Spring distribution. Please see the announcement and changelog for the complete list of changes.


The distribution has been trimmed from 26 JARs in 2.1-m1 to 17 JARs in 2.1-m2. Take a look at the changelog for the list of files that changed, but from the commit message, here’s what’s new:

  • spring-context.jar includes JMX support and core remoting support (no spring-jmx and spring-remoting jars anymore)
  • spring-orm.jar combines all ORM support packages (replaces spring-hibernate, spring-ibatis, spring-jdo, spring-jpa, and spring-toplink jars)
  • spring-web.jar contains web-related remoting and ORM classes (for proper use in J2EE EAR deployment structures)
  • renamed spring-dao.jar to spring-tx.jar, also containing the JCA support now
  • renamed spring-support.jar to spring-context-support.jar
  • renamed spring-portlet.jar to spring-webmvc-portlet.jar
  • module jar files contain module-specific "spring.handlers" and "spring.schemas" files now

Spring Framework 2.1 M2 Released

Dear Spring Community,

I’m pleased to announce that Spring 2.1 M2 has been released!

This is the second milestone release in the Spring 2.1 series, introducing refinements in the annotation config support as well as support for AspectJ load-time weaving and various further new features.

This release also introduces a revised structure for Spring’s module jars, now prepared for OSGi. Note that Hibernate 2.1 support has been dropped: Spring generally requires Hibernate 3.1 or higher now. 

Spring 2.1 M1 Released


Customizing Annotation Configuration and Component Detection in Spring 2.1

NOTE: This post has been updated as of May 31, 2007 to reflect the state of the 2.1-M2 official release

Two weeks ago I blogged about the new annotation-driven dependency injection capabilities of Spring 2.1, and I mentioned that I would follow-up with more info "later in the week". It turns out that was a bit optimistic, but the good news is the functionality has evolved quite a bit in the meantime. Therefore, to follow along with the examples here you will need to download the 2.1-M2 official release (or if you are one of the first people to read this updated entry and M2 is not yet available, you should grab at least nightly build #115 which you can download here).


Conference Season Builds up to SpringOne!

It’s been a while since I had time to blog. We’ve been busy. We raised $10m. As Adrian has pointed out, we’ve been very active in product development. I’ve written more code myself than usual in the last couple of months. (Mainly on experimental stuff, which may or may not see the light of day, but it’s fun, and sometimes I do something that turns out to be useful.) I’ve spent a lot of time speaking to press and analysts; we’re getting huge press interest these days. Press/analyst calls can be tiring, but can also be valuable, as many of these guys are smart and ask thought-provoking questions.


New releases in the Spring Portfolio

Late last year we started talking about the notion of a Spring “release train”. The idea behind the release train is that we put out co-ordinated releases of the products in the Spring Portfolio: tested together and working together. You can still pick and choose the pieces you need, but it will be easier to use the various products together when you want to. We’re not there yet, but we’re on our way.

One of the struggles for us at Interface21 has been that the demand for our support services, training, and consultancy has been so high that we’ve been working everyone flat out to try and meet it. This has made it hard to get the consistent and predictable product development time we need to pull off something like a release train. That’s just one of the many reasons that I’m so excited about the recent announcement of the $10M investment that Benchmark Capital is making in Interface21 (press release). It will enable us to accelerate our product development efforts and bring you more great releases more quickly than we could in the past.


Acegi Security 1.0.4 Released

Acegi Security 1.0.4 is now available.

There are over 50 issues addressed in this release. Existing user can upgrade to release 1.0.4 with a simple JAR drop.

Please visit for a detailed changelog.

The project’s web site at provides additional information on Acegi Security’s features, access to online documentation, and links to download the latest release.

Please note that the next release of Acegi Security will be known as Spring Security 2.0.0 M1. We anticipate releasing this within the next 7-14 days, and it will offer Spring 2 namespace support.


Spring Web Flow Java One 2007 Demo

When Sun scheduled my JavaOne 2007 session on Spring Web Flow for Friday, the last day of the conference, I wasn’t sure what to expect. I was honored to have been accepted again this year, but I wondered what I would see in terms of attendance presenting on the last day of the 4-day conference.

I could not have been more pleased with how things transpired. When I checked in at speaker setup on Thursday 800 people had pre-registered for my Friday session. Fifteen minutes before my talk was to begin the room had reached that number. In the end, 1000 JavaOne attendees came to room 307-310 of the Moscone center to experience an adrenaline-powered Spring Web Flow test drive.


Annotation-Driven Dependency Injection in Spring 2.1

Spring 2.0 introduced annotation support and annotation-aware configuration options that can be leveraged by Spring users who are developing with Java 5 (or later versions):

@Transactional for demarcating and configuring transaction definitions
@Aspect (AspectJ) for defining aspects along with @Pointcut definitions and advice (@Before, @After, @Around)
@Repository for indicating a class that is operating as a repository (a.k.a. Data Access Object or DAO)
@Required for enforcing annotated bean properties are provided a value

Spring Framework 2.1 M1 released

Dear Spring Community,

We are pleased to announce that Spring 2.1 M1 has been released.  This is the first milestone release in the Spring 2.1 series, introducing major new features including annotation-based configuration, JCA-based message endpoint management, new "context" and "jms" XML configuration namespaces, and JDK 1.6 and Java EE 5 support.

Spring 2.1 M1 Released

See the associated press release for an overview of the major themes of the 2.1 release. Subscribe to the Interface21 Team Blog for discussion and examples of the new features.