zoukankan      html  css  js  c++  java
  • 对spring-boot的自动装配理解

    自动装配是spring-boot最核心的功能

    自动装配解决的了什么问题:

         把配置的bean(包括自己写的和第三方的sdk)自动加入到IOC容器中。在没有自动配置的时候,我们是用xml进行配置,然后加入到IOC容器

    原理理解:

    SpringBoot的主配置类:

     里面有一个main方法运行了一个run()方法,在run方法中必须要传入一个被@SpringBootApplication注解的类。

    @SpringBootApplication

    SpringBoot应用标注在某个类上说明这个类是SpringBoot的主配置类,SpringBoot就会运行这个类的main方法来启动SpringBoot项目。

    那@SpringBootApplication注解到底是什么呢,点进去看看:

    发现@SpringBootApplication是一个组合注解。

    @SpringBootConfiguration

    先看看@SpringBootConfiguration注解:

    这个注解很简单,表名该类是一个Spring的配置类。

    再进去看看@Configuration:

     说明Spring的配置类也是Spring的一个组件。

    @EnableAutoConfiguration

    这个注解是开启自动配置的功能。

    @AutoConfigurationPackage

    https://blog.csdn.net/ttyy1112/article/details/101284541

    注解的作用是将 添加该注解的类所在的package 作为 自动配置package 进行管理。

    可以通过 AutoConfigurationPackages 工具类获取自动配置package列表。当通过注解@SpringBootApplication标注启动类时,已经为启动类添加了@AutoConfigurationPackage注解。路径为 @SpringBootApplication -> @EnableAutoConfiguration -> @AutoConfigurationPackage。也就是说当SpringBoot应用启动时默认会将启动类所在的package作为自动配置的package。

    @Import({AutoConfigurationImportSelector.class})引入AutoConfigurationImportSelector.class

     进入AutoConfigurationImportSelector.class

     这里有一个最重要的方法:selectImports  这个方法就是用来扫描第三方sdk的配置文件(类似vue里的插件),然后把sdk加入IOC容器

     下面这个就是一个第三方sdk的配置文件

  • 相关阅读:
    CSS 中的字体兼容写法:用CSS为英文和中文字体分别设置不同的字体
    利用vue-cropper做的关于图片裁剪、压缩、上传、预览等做的一个公共组件
    解决浏览器拦截弹出窗口问题
    详解Vue中的nextTick
    vue里ref ($refs)用法
    vue组件的hover事件模拟、给第三方组件绑定事件不生效问题
    JS实现千分位
    JS实现异步编程的4种方法
    Cas_个人理解
    zabbix_监控_邮件预警
  • 原文地址:https://www.cnblogs.com/zhaobao1830/p/12174439.html
Copyright © 2011-2022 走看看