BeanFactory是接入spring-bean容器的基本客户端视图。有比较复杂的实现。其中,bean的完整初始化顺序如下:具体请参照BeanFactory源码
<ol>
* <li>BeanNameAware's {@code setBeanName}
* <li>BeanClassLoaderAware's {@code setBeanClassLoader}
* <li>BeanFactoryAware's {@code setBeanFactory}
* <li>EnvironmentAware's {@code setEnvironment}
* <li>EmbeddedValueResolverAware's {@code setEmbeddedValueResolver}
* <li>ResourceLoaderAware's {@code setResourceLoader}
* (only applicable when running in an application context)
* <li>ApplicationEventPublisherAware's {@code setApplicationEventPublisher}
* (only applicable when running in an application context)
* <li>MessageSourceAware's {@code setMessageSource}
* (only applicable when running in an application context)
* <li>ApplicationContextAware's {@code setApplicationContext}
* (only applicable when running in an application context)
* <li>ServletContextAware's {@code setServletContext}
* (only applicable when running in a web application context)
* <li>{@code postProcessBeforeInitialization} methods of BeanPostProcessors
* <li>InitializingBean's {@code afterPropertiesSet}
* <li>a custom init-method definition
* <li>{@code postProcessAfterInitialization} methods of BeanPostProcessors
* </ol>
以上是初始化方法和他们的标准顺序,主要是各种aware接口和BeanPostProcessors流程。本章将不做过多介绍,后续章节会对部分流程,结合Bean的初始化流程进行解析。

本文深入探讨了Spring中BeanFactory的角色,强调了其作为容器的基础客户端视图。介绍了BeanFactory的初始化顺序,包括aware接口和BeanPostProcessors流程。文章概述了BeanFactory的子接口HierarchicalBeanFactory、AutowireCapableBeanFactory和ListableBeanFactory的功能,并重点关注了ConfigurableBeanFactory,它是整个容器的配置接口,提供了丰富的可配置功能。
最低0.47元/天 解锁文章
705

被折叠的 条评论
为什么被折叠?



