码迷,mamicode.com
首页 > 编程语言 > 详细

spring5.0.10注解版-一些核心组件作用、初始化时机

时间:2019-05-08 21:35:14      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:rop   sys   时机   string   RoCE   实现   interface   system   load   

1.beanFactory :容器调用无参构造器时,先调用父类的无参构造器:GenericApplicationContext,这个类定义了

   DefaultListableBeanFactory并在无参构造器中初始化, beanFactory的作用:保存bean的定义信息

   bean实例化之后保存在哪?

2.prepareBeanFactory(ConfigurableListableBeanFactory beanFactory)方法解析:

   1-设置类加载器:   beanFactory.setBeanClassLoader(getClassLoader());

   2-设置bean表达式解析器(支持el表达式解析)

   3-添加一些bean的后置处理器:

       1、ApplicationContextAwareProcessor,它实现了BeanPostProcessor接口 ,它的作用是:bean初始化前,                   调用invokeAwareInterfaces(bean),该方法运行流程,判断传入的bean是否是Aware类型,然后再判属                   于哪种Aware(EnvironmentAware、EmbeddedValueResolverAware、ResourceLoaderAware、

            ApplicationEventPublisherAware、MessageSourceAware、ApplicationContextAware),然后调用这个                     bean 实现对应接口的方法:setxxx(xxx) 

      2、ApplicationListenerDetector                

      3、......

  4-忽略一些自动装配的接口:ApplicationContextAwareProcessor里面判断的那些接口

  5-注册可以解析的自动装配组件:可以在任何组件中自动注入

      BeanFactory、ResourceLoader、ApplicationEventPublisher、ApplicationContext

  6-给BeanFactory中注册一些能用的组件;

     environment【ConfigurableEnvironment】、
     systemProperties【Map<String, Object>】、
     systemEnvironment【Map<String, Object>】

 

3.

 

 

                                                                                                              

spring5.0.10注解版-一些核心组件作用、初始化时机

标签:rop   sys   时机   string   RoCE   实现   interface   system   load   

原文地址:https://www.cnblogs.com/dengrong/p/10834752.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!