Spring has its own Qualifier annotation, I think it is equivalent to javax.inject.Named annotation, which in turn is a concrete qualifier in JSR-330.
So, I wonder which version of Spring, if any, supports Qualifier?
Here is an example using the example, unfortunately, it does not work with spring -context 3.0.5:
@Retention(RUNTIME) @javax.inject.Qualifier public @interface Version { String value(); } @Configuration public class MyConfig { @Bean("book-12") @Version("a") Book book12a() { ... } @Bean("book-12") @Version("b") Book book12b() { ... } } @Component public class UserClass { @Inject @Named("book-12") Book anybook12; @Inject @Named("book-12") @Version("b") Book book12_b; }
source share