4

Springには独自のアノテーションがあります。これは、JSR-330の具体的な修飾子であるアノテーションとQualifier同等だと思います。javax.inject.Named

では、SpringのどのバージョンがQualifierをサポートしているのでしょうか。

これが私の使用例ですが、残念ながら、spring-context3.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 に答える