Неосновная аннотация Spring в конфигурации Java - PullRequest
0 голосов
/ 25 мая 2020

В конфигурации XML я могу написать (Class2 расширяет Class1):

<bean name="bean1" class="com.comp.Class1" primary="true"/>
<bean name="bean2" class="com.comp.Class2" primary="false"/>

Но как я могу достичь того же эффекта, используя Java config? Кажется, что на bean1 помещается только один @Primary. Но затем я получил ошибку «ожидался единственный соответствующий bean-компонент, но обнаружено 2» при автоматическом подключении через интерфейс, реализованный Class1.

1 Ответ

0 голосов
/ 25 мая 2020

Я предполагаю, что вы уже знаете о квалификаторах, и ваш вариант использования не использовать их.

Я думаю, что в вашем случае должно работать что-то вроде ниже.

@Configuration
public class Config {

    @Bean
    public Employee JohnEmployee() {
        return new Employee("John");
    }

    @Bean
    @Primary
    public Employee TonyEmployee() {
        return new Employee("Tony");
    }
}

MAIN JAVA CLASS

AnnotationConfigApplicationContext context
  = new AnnotationConfigApplicationContext(Config.class);

Employee employee = context.getBean(Employee.class);
System.out.println(employee);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...