Spring 5 подождите, пока не станет доступен поздно инициализированный bean-компонент, зависимость и порядок не помоглиJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Spring 5 подождите, пока не станет доступен поздно инициализированный bean-компонент, зависимость и порядок не помогли

Сообщение Anonymous »

Как дождаться инициализации компонента «allAppConfigs», а затем инициализировать компонент «pseudoBean1»? Для аннотированного метода PostConstruct «populateMap» необходим член «allAppConfigs» со значениями для заполнения карты.
Я пробовал зависеть от и разные порядки, читая руководство / документацию Spring 5/6 и интерфейс InitializingBean. Я думаю, что импорт ресурсов сделан слишком поздно. Возможно, есть хорошее решение. Заранее спасибо.
О порядке внедрения Spring:
  • (1) PseudoBean1.setApplicationConfigRegistry(...)
  • (2) PseudoBean1setAllAppConfigs(...)
  • (затем запускается PostConstruct)
  • (3) PseudoBean2.setAllAppConfigs(...)
spring.xml:
...








...

myFrameWork/spring.xml:








public class PseudoBean2 {

private List allAppConfigs;

public void setAllAppConfigs(List allAppConfigs) {
this.allAppConfigs = allAppConfigs;
}

public List allAppConfigs() {
return this.allAppConfigs;
}
}

public class PseudoBean1 {

private PseudoBean2 applicationConfigRegistry;

private Map map = new HashMap();

private List allAppConfigs = new ArrayList();

public void setApplicationConfigRegistry(PseudoBean2 applicationConfigRegistry) {
this.applicationConfigRegistry = applicationConfigRegistry;
}

public void setAllAppConfigs(List allAppConfigs) {
this.allAppConfigs = allAppConfigs;
}

@PostConstruct
protected void populateMap() {
int i = 1;
for(AppConfig config : applicationConfigRegistry.allAppConfigs()) {
map.put("key" + i, config);
i++;
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/792 ... nd-order-h
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»