Можем ли мы изменить автоматическое подключение родительского bean-компонента в дочернем конструкторе javaspring? - PullRequest
0 голосов
/ 03 августа 2020

У меня проблема с аннотацией в Spring. Кажется, я не могу обновить объект с помощью аннотации @Qualifier. Давайте сделаем сокращенную версию моей проблемы:

Допустим, у меня есть родительский java класс, который выглядит следующим образом:

public class test {

 @Autowired
    protected object x;
}

Дочерний класс, расширяющий родительский класс с помощью такого конструктора:

public class testChild extends test {

    @Autowired
public testChild(@Qualifier("y") Object y) {
        this.x = y;
    }

И 2 Bean, один с аннотацией @Primary, а другой с @Bean (Name = "y").

Bean с аннотацией @Primary всегда кажется быть применено, поскольку у родителя есть автосоединение без спецификатора, и bean-компонент, который я получаю в конструкторе, также является основным, есть ли способ получить bean-компонент @Qualifier ("y") с дочерним классом без изменения родительского класса?

1 Ответ

0 голосов
/ 03 августа 2020

не так, как вы этого хотите, нет - решение состоит в том, чтобы перестать использовать @Primary и вместо этого использовать только @Qualifier s. Или вы можете использовать @Profile для создания разных bean-компонентов для разных профилей. Но всякий раз, когда вы используете @Primary, он становится основным компонентом, что является своего рода точкой аннотации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...