Spring 有自己的Qualifier
注解,我认为它相当于javax.inject.Named
注解,而注解又是 JSR-330 中的具体限定符。
所以,我想知道哪个版本的 Spring(如果有的话)支持 Qualifier?
这是我的示例用法,不幸的是它不适用于 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;
}