• 【SpringBoot】03 自动装配原理探索


    SpringBoot的依赖探索

    首先是一个父级依赖管理的pom.xml

    【Ctrl + 左键点击】访问进去之后还有父级的父级

    到最后才是我们的真正的顶级父类Pom.xml

    我们当前的父级坐标

    <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.2.7.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>

    第二级坐标

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>2.2.7.RELEASE</version>
        <relativePath>../../spring-boot-dependencies</relativePath>
      </parent>

    最后才是Boot依赖

    顶级父类管理了所有依赖的版本,

    实际导入依赖只需要声明具体的包即可

    次级目录负责了资源导出过滤

    启动器:

    启动被拆分成各个单元模块

    回想SSM的启动

    - Main写类实现

    - Test写单元测试类

    - 服务启动Tomcat

    主程序:

    @SpringBootApplication 标注这个类是一个SpringBoot的应用

    就跟MVC的@Component差不多,注册

    我们可以点击查看这个注解类

    @SpringBootConfiguration

    又是由一个@Configuration来配置

    追到最后就是一个@Component注解,

    也就是说SpringBoot的本质还是一个Spring,

    但是是一个纯注解的Spring【不再是繁琐的XML配置了】

    @EnableAutoConfiguration 顾名思义【开启自动配置】

    @AutoConfigurationPackage

    自动配置包

    被@Import({Registrar.class}) 注解,也就是包注册扫描


    看不下去了,总而言之就是通过这些注解对整个工程进行了一个

    地毯式的注册配置,全部加载进了Properties,配合启动器完成运行

    我们要做的就是配置启动器

    https://www.bilibili.com/video/BV1PE411i7CV?t=2222&p=6

    2020.08.17更新:

    在SpringBoot自动配置这个Jar包中,提供了一个Spring工厂配置文件

    里面的信息就和properties一样,有键和值组成,分为了这些:

    # Initializers 初始化加载器
    
    # Application Listeners 应用监听器
    
    # Auto Configuration Import Listeners 自动配置导入 监听器
    
    # Auto Configuration Import Filters 自动配置导入 过滤器
    
    # Auto Configure 自动配置
    
    # Failure analyzers 故障分析器
    
    # Template availability providers 可用的模版供应者

    重点部分在自动配置的值上面,一共配置了126个值,即表示了SpringBoot具有126个资源的自动配置

    这也就表示其实和Spring读取XML配置信息创建Bean实例是一个道理

    但是加载这些自动配置类资源需要提供SpringBoot对应的启动器starter,自动装配才会生效


    在尚硅谷的教程细谈:

    https://www.bilibili.com/video/BV1gW411W76m?t=190&p=19

    官方文档的配置文件参数详细说名

    https://docs.spring.io/spring-boot/docs/1.5.9.RELEASE/reference/htmlsingle/#common-application-properties

    头部导航锚标签连接位置传送

    自动装配原理:

    - SpringBoot启动时加载主配置类,开启了自动配置功能@EnableAutoConfiguration

    - @EnableAutoConiguration作用:

      1、利用EnableAutoConigurationImportSelector给容器导入组件

      2、可以查看SelectImport方法的内容

      3、List<String>Configurations = getCandicateConfiguration(annotationMetaData,attribute)获取候选配置

  • 相关阅读:
    IP地址结构分类(包括主机号和网络好计算)
    抓包工具fiddler的Https证书设置
    获取目录结构,并写到txt文档里
    十五、React:简单点餐实例:知识点,html解析写法
    git commit -m 和 git commit -am 区别
    用Git管理项目进行版本控制
    pycharm 设置项目的编译器
    十四、 React路由(react-router4.x): 动态路由、get传值、React中使用url模块
    十三、react-router 4.x的基本配置
    进程间的通讯
  • 原文地址:https://www.cnblogs.com/mindzone/p/12849714.html
Copyright © 2020-2023  润新知