protected Object doCreateBeanOnly(BeanDefinitionBase bd) { if(initializing){ throw new IllegalStateException("Cannot get bean when this container is initializing"); } Object bean; if(isBeanCurrentlyInCreation(bd)){ bean = getBeanCurrentlyInCreation(bd); if(null != bean){ return bean; } throw new BeanCreationException("Requested bean '" + bd + "' is currently in creation: Is there an unresolvable circular reference?"); } beforeBeanCreation(bd); bean = doBeanCreation(bd); afterBeanCreation(bd); bd.setInited(true); return bean; }