zoukankan      html  css  js  c++  java
  • spring5.0.10注解版-一些核心组件作用、初始化时机

    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.

                                                                                                                  

  • 相关阅读:
    你的系统需要做系统集成测试么?
    测试驱动 ASP.NET MVC 和构建可测试 ASP.NET MVC 应用程序
    RikMigrations 或 Migrator.NET 进行自动化的数据库升级
    单元测试
    C#反射
    J2EE--Struts2基础开发
    Dynamics CRM 客户端的插件调试
    于快速创建 IEqualityComparer<T> 实例的类 Equality<T>
    ToolBox Analysis & Design
    实现$.fn.extend 和$.extend函数
  • 原文地址:https://www.cnblogs.com/dengrong/p/10834752.html
Copyright © 2011-2022 走看看