SpringBoot之自动装配原理

SpringBoot之自动装配原理

一:自动装配之pom.xml

  在springBoot项目中有一个<parent>的标签,其中的项目名为spring-boot-starter-parent,所有的版本依赖都是来源于这里的。

  我们在需要引入springboot-stater-xxx时不需要引入版本就是在父项目中已经把版本都管理好了。

二:自动装配之stater

   启动器:

    

 

 

   如果我们要使用什么功能,只需要找到对应的stater即可。

三:自动装配之主程序

  1、注解 @SpringbootApplication的作用

    ①标志这个类是一个springboot的应用

    ②点开@SpringbootApplication这个注解我们会发现

    

 

     @SpringBootConfiguration

      @Configuration

        @Component -->本质上还是一个spring的组件。

    @EnableAutoConfuguration -->启用自动配置

      @AutoConfigurationPackage -->自动配置包

        @Import({Registrar.class}) -->导入注册器

      @Import({AutoConfigurationImportSelector.class}) -->自动配置导入选择器 

  这个META-INF/spring.factories是自动装配的核心文件

  

 

   结论:SpringBoot所有的配置都是在启动的时候扫描并加载的,它会去循环出META-INF/spring.factories下的所有配置类,

        然后封装成properties供我们使用,这样的话自动装配就算完成了,但是并不是所有的配置类都可以生效,需要有

        一个前提,那就是你必须要有相应的stater,那么与之对应的配置类才会生效,那么才算配置成功。

四:自动装配之run方法

  SpringApplication.run主要做了如下事情:

  ①推断应用的类型是普通的项目还是Web项目

  ②查找并加载所有可能初始化器,设置到initializers属性中

  ③找出所有的应用程序监听器,设置到listeners属性中

  ④推断并设置main方法的定义类,找到运行的主类

 

posted @ 2020-04-26 01:28  ThrowNoMoneyEx_7  阅读(276)  评论(0)    收藏  举报