So...new features in Spring 3:
- New Spring Expression language
- First-class REST support
- Annotation-based support for declaring asynchronous and scheduled methods
- Java-based configuration option
- New @Value annotation for wiring values (or expression results) into properties.
- some other stuff that escapes me right now...
EJB 3 vs. Spring: This is largely a personal choice. But you should know that Spring supports the same EJB 3 annotations that provide DI to EJB. And Spring is more than just DI and AOP. By going with Spring, you get all of the other stuff in the Spring Framework and in the greater Spring portfolio.