SpringBoot应用启动过程中Spring容器的初始化过程

SpringBoot应用启动的过程中加入到spring容器当中的组件大致可以归为两类

①SpringBoot自动配置中的包含原生的组件

  通过 AutoConfigurationImportSelector 完成     

       具体细节见     https://www.cnblogs.com/tombky/p/12555416.html

②我们编写的一些业务类(比如通过扫描主启动类所在的包及子包相应的注解加入到容器中的组件,Conponet、  Controller、Service 、 Mapper )

应用启动时,先将我们自己编写的一些业务类加入到容器中,再根据容器中已有bean的自动化装配一些原生的组件

   通过  @AutoConfigurationPackage 注解完成

        具体装配细节见  https://www.cnblogs.com/tombky/p/12556197.html

    

 

    大多原生组件装配之前其实已经装配原生组件对应的 xxxProperties 组件,在装配原生组件时一般通过有参构造的方式将  xxxProperties 设置进去

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@AutoConfigurationPackage
@Import({AutoConfigurationImportSelector.class})
public @interface EnableAutoConfiguration {
    String ENABLED_OVERRIDE_PROPERTY = "spring.boot.enableautoconfiguration";

    Class[] exclude() default {};

    String[] excludeName() default {};
}

 

你可能感兴趣的:(SpringBoot应用启动过程中Spring容器的初始化过程)