Я пробовал зависеть от и разные порядки, читая руководство / документацию Spring 5/6 и интерфейс InitializingBean. Я думаю, что импорт ресурсов сделан слишком поздно. Возможно, есть хорошее решение. Заранее спасибо.
О порядке внедрения Spring:
- (1) PseudoBean1.setApplicationConfigRegistry(...)
- (2) PseudoBean1setAllAppConfigs(...)
- (затем запускается PostConstruct)
- (3) PseudoBean2.setAllAppConfigs(...)
...
...
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