Spring 3 comes with JSR-330 annotations like @Inject, @Named developed by Rod Johnson and Bob Lee. Exactly the same annotations are also used in CDI (JSR-299). They are an integral part of every Java EE 6 server - regardless whether it is a full or web profile. In all migration projects from J2EE / Java EE 5 with Spring 3 to Java EE 6 you will get two injection frameworks implementing / listening to the same annotations.It is like working with two JPA providers (e.g. EclipseLink and Hibernate) in one application at the same time :-).