protected void processBeanCreation(BeanDefinitionBase bd, Object bean) {
try {
setBeanCurrentlyInCreation(bd, bean);
doBeanAware(bd, bean);
doBeanConfigure(bd, bean);
if(bean instanceof PostConfigureBean){
((PostConfigureBean) bean).postConfigure(appContext.getBeanFactory(), appContext.getConfig());
}
doBeanSetProperties(bd,bean);
doBeanInjection(bd,bean);
doBeanInvokeMethods(bd,bean);
doInitBean(bd, bean);
if(bean instanceof LoadableBean){
if(!((LoadableBean) bean).load(appContext.getBeanFactory())){
return;
}
}
} catch (Throwable e) {
throw errorCreateBean(bd,e);
}
if(bd.isSingleton()){
doBeanValidation(bd,bean);
bd.setSingletonInstance(bean);
}
}