Bean装配顺序:
1. Bean实例化;
2. 设置属性值init properties; 3. 如果实现了BeanNameAware接口,调用setBeanName设置Bean的ID或者Name; 4. 如果实现BeanFactoryAware接口,调用setBeanFactory 设置BeanFactory; 5. 如果实现ApplicationContextAware,调用setApplicationContext设置ApplicationContext 6. 调用BeanPostProcessor的预先初始化方法postProcessBeforeInitialization; 7. 调用InitializingBean的afterPropertiesSet()方法; 8. 调用定制init-method方法(XML configuration based,Not Code based); 9. 调用BeanPostProcessor的后初始化方法postProcessAfterInitialization;