Java spring上下文是否支持bean实例上的JSR-330限定符?

Java spring上下文是否支持bean实例上的JSR-330限定符?,java,spring,qualifiers,jsr330,Java,Spring,Qualifiers,Jsr330,Spring有自己的限定符注释,我认为它相当于名为注释的javax.inject.annotation,它在JSR-330中是一个具体的限定符 所以,我想知道Spring的哪个版本(如果有的话)支持限定符 下面是我的示例用法,不幸的是它不适用于spring context 3.0.5: @Retention(RUNTIME) @javax.inject.Qualifier public @interface Version { String value(); } @Configur

Spring有自己的
限定符
注释,我认为它相当于名为注释的
javax.inject.annotation,它在JSR-330中是一个具体的限定符

所以,我想知道Spring的哪个版本(如果有的话)支持限定符

下面是我的示例用法,不幸的是它不适用于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;

}

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


顺便说一句,我假设您想要
@Service
@Component
而不是
@Bean
,并且您需要将
书籍
类设置为spring管理

@谢继雷'Lenik使用
@Service
而不是
@Bean
@Bozho:
@Service
@Component
ElementType.TYPE
的目标,但我不想创建额外的类型。所以,我猜
@Bean
不会起作用,对吧@谢继雷'Lenik没有。你必须有一本
类,该类被注释并由spring管理。我在@Configuration定义中使用了@Bean,它工作得很好,尽管它没有与限定符一起使用。@CarlosZ@谢继雷'Lenik嗯,使用java配置(
@Configuration
)可能不适用于限定符。它适用于spring。请在此处查找我的帖子:@sharath链接已断开