赞
踩
AbstractApplicationContext#refresh()方法的最后一步是初始化所有单例
- /**
- * 完成此上下文的bean工厂的初始化,初始化所有剩余的单例bean。
- * @param beanFactory
- */
- protected void finishBeanFactoryInitialization(ConfigurableListableBeanFactory beanFactory) {
- /** 为此上下文初始化转换服务{@link ConversionService} */
- if (beanFactory.containsBean(CONVERSION_SERVICE_BEAN_NAME) && beanFactory.isTypeMatch(CONVERSION_SERVICE_BEAN_NAME, ConversionService.class)) {
- beanFactory.setConversionService(beanFactory.getBean(CONVERSION_SERVICE_BEAN_NAME, ConversionService.class));
- }
-
- /** 如果之前没有任何bean后处理器(例如PropertyPlaceholderConfigurer Bean)之前进行过注册,则注册一个默认的嵌入式值解析器,主要用于注释属性值的解析。 */
- if (!beanFactory.hasEmbeddedValueResolver()) {
- beanFactory.addEmbeddedValueResolver(strVal -> getEnvironment().resolvePlaceholders(strVal));
- }
-
- /** 尽早初始化{@link LoadTimeWeaverAware} Bean,以便尽早注册其转换器。 */
- String[] weaverAwareNames
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。