Spring: присоединение @Qualifer к сконфигурированным Java bean-компонентам

Весной вы можете XML-конфигурировать bean-компонент, чтобы он имел квалификатор. Кажется, я не могу найти, как я могу прикрепить квалификатор при настройке bean-компонентов с помощью аннотаций Java. Что случилось с этим? Должен ли я использовать просто старые имена?


person Aleksandr Dubinsky    schedule 07.02.2012    source источник


Ответы (2)


Если вы используете аннотации (не на основе Java), вы можете использовать следующее, чтобы добавить квалификатор (см. документация Spring):

@Component
@Qualifier("myQualifier")
public class MyBean {
    //code
}

А для подключения компонента используйте следующее (опять же, см. документация Spring):

public class MyClass {

    @Autowired
    @Qualifier("myQualifier")
    private MyBean myBean;

    //more code

}
person Snowy Coder Girl    schedule 07.02.2012
comment
А что не так с @Component("componentName")? Чем @Component @Qualifier лучше? - person Nick; 18.11.2016
comment
@Nick Вы можете квалифицировать несколько компонентов с помощью одного и того же квалификатора. Думайте об этом как о концепции группировки. - person levant pied; 30.11.2018

Что, как @Qualifier, вы имеете в виду?

3.10.4 Определение метаданных компонента в компонентах

Пример:

  @Bean @Qualifier("public")
  public TestBean publicInstance() {
      return new TestBean("publicInstance");
  }
person skaffman    schedule 07.02.2012
comment
+1. См. также мой ответ для автопроводки (не добавлял его сюда, потому что код будет трудно читать). - person Snowy Coder Girl; 08.02.2012