4

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;

}
4

1 回答 1

6

是的,它支持所有javax.inject.*注释。我自己用过javax.inject.Qualifier

顺便说一句,我假设您想要@Service@Component代替@Bean,并且您需要使您的Book课程由弹簧管理。

于 2011-03-08T12:27:50.123 回答