In the first part of Jürgen’s talk he summarized the main innovations of Spring 2.5. The release brought significant enhancements regarding stereotype annotation configuration of Spring components. He especially focused on the combination of annotation configuration and AspectJ load-time-weaving. He pointed out some nice examples on the use of @Configurable to transparently inject Spring beans into components created outside the bean container and using @Transactional to allow even in-component method calls to be transactionally intercepted.
Jürgen summarized this part of his presentation by giving recomendations for mixing configuration types. Annotation configuration is primarily meant to express stereotype configuration - meaning to express default configuration. You always have the option to override these defaults by external XML configuration.
Personally I really fight to try experimenting with annotation as this throws away all the consistence in configuration I especially liked about Spring. But I think I’ll give it a try as I had to get used to the namespace configuration as well and really like it now. Nevertheless, the variety in configuration options unfortunately raises the hurdle for beginners a lot.
Jürgen continued giving short insights into Spring 3.0 development. It will be entirely based on Java 5 and its first milestone is expected in August. We can expect to see some cleanups resulting from dropping some supprt for old libraries. Nevertheless Spring 3.0 will be fully backwards compatible to 2.5.