http://www.infoq.com/interviews/rod_johnson_spring30
In this interview, Rod Johnson talks to infoq about spring3.0, the new release of spring framework
The role of spring is to reduce the complexity of application development. Spring takes the complexity that otherwise would complicate your business logic and move that infrastructural complexity inside the framework and make your life as a developer simpler
Rod mentioned some new features of Spring3.0 in the interview:
1. Spring Expression Language
The biggest simplification feature is the introduce of the new Spring Expression Language which is available both in annotations and XML bean definitions. It's now easy to get things like system properties or web application values without the need to recompile your code when something changes, so it is a really nice potential replacement for things like PropertyPlaceholderConfigurer. It's more concise with less code. It increases the power of the annotation driven injection model, it's possible to inject values with an @Value annotation where the value is resolved by an expression without any XML bean definition
2. Spring MVC
PathVariable annotation and REST support are introduced in Spring 3.0, so it becomes very easy to expose RESTful interfaces to an application
3. Spring Java Configuration
@Configuration model is an internal DSL that uses Java code which is annotated to define Spring beans. You can write arbitrary Java code to create Spring beans. It allows inheritance of configuration and is type-safe and re-factoring friendly
4. meta-annotation
You can annotate your own custom annotations with other annotations that are meaningful to Spring. It's what UML would call stereotypes and sort of like inheritance for annotations