Bean生命周期之BeanNameAware、BeanFactoryAware、InitializingBean
在源码AbstractAutowireCapableBeanFactory的创建bean方法doCreate方法中。
bean已经实例化后,且populateBean方法是填充属性之后,就开始调用初始化方法initializeBean。
进入其方法。
protected Object initializeBean(final String beanName, final Object bean, RootBeanDefinition mbd) {
if (System.getSecurityManager() != null) {
AccessController.doPrivileged(new PrivilegedAction<Object>() {
public Object run() {
//对特殊的bean处理:Aware、BeanClassloadAware、BeanFactoryAware
invokeAwareMethods(beanName, bean);
return null;
}
}, getAccessControlContext());
}
else {
//对特殊的bean处理:Aware、BeanClassloadAware、BeanFactoryAware
invokeAwareMethods(beanName, bean);
}
O