当前位置: 首页 > news >正文

云阳县城乡建设委员会门户网站百度知道首页登录入口

云阳县城乡建设委员会门户网站,百度知道首页登录入口,seo排名软件价格,武汉做网站排名前言 在开发SpringBoot项目时,当我们引入spring-boot-starter-xxx依赖后,想要使用依赖中的bean,直接就用Autowired拿来用了,不需要用xml或者注解的方式把它先注入到Spring容器中。这就是自动装配的特性,本文来讲述Spri…

前言

  在开发SpringBoot项目时,当我们引入spring-boot-starter-xxx依赖后,想要使用依赖中的bean,直接就用@Autowired拿来用了,不需要用xml或者注解的方式把它先注入到Spring容器中。这就是自动装配的特性,本文来讲述SpringBoot是如何实现这一点的。

如何实现

  做到这一点的,是靠启动类上的@SpringBootApplication,我们点进去看:

在这里插入图片描述

  该注解被@ComponentScan修饰,所以也具有它的特点:在启动类所在包及子包下的所有被@Controller、@Service、@Component修饰的类,都会被注入到Spring容器中。再看另一个修饰@SpringBootApplication的注解:@EnableAutoConfiguration,点进去:

在这里插入图片描述

  用@Import引入了一个类:AutoConfigurationImportSelector,看下这个类的父类层次结构:

在这里插入图片描述

  实现了ImportSelector接口,在之前的将bean注入Spring容器的五种方式 博客中讲过,重写该接口的selectImports方法,返回的全路径数组对应的那些类,都会生成对象然后注入到Spring容器中。详细看下selectImports方法的逻辑:

    第1步

  判断自动装配开关(spring.boot.enableautoconfiguration)是否打开,默认为true,可在application.yml 中设置

在这里插入图片描述
在这里插入图片描述

    第2步

  获取@SpringBootApplication的exclude、excludeName属性(未指定就是空的)

在这里插入图片描述


    第3步

  读取所有jar包下的META-INF/spring.factories文件,文件内容是key-value形式,读取key为org.springframework.boot.autoconfigure.EnableAutoConfiguration的value,value都是一个个配置类的全路径:

在这里插入图片描述

  spring-boot-autoconfigure包下的:

在这里插入图片描述

  druid-spring-boot-starter包下的:

在这里插入图片描述

    第4步

  去重:
在这里插入图片描述

    第5步

  排除掉上面获取的exclude、excludeName指定的配置类:
在这里插入图片描述

    第6步

  满足配置类上的@ConditionalOnXXX注解的,该配置类保留,不满足的配置类去除

在这里插入图片描述

在这里插入图片描述

  最后把这个list转化为数组返回。至此,返回的那些配置类被注入到Spring容器中了,配置类中@Bean方法返回的对象也被注入到容器了(我们主要使用的是这些对象)。

  注:如果要打断点调试的话,spring-boot-autoconfigure要为2.0.5.RELEASE的,不然selectImports方法打断点进不去(没走这个方法,要在getAutoConfigurationEntry方法内部打断点)。

http://www.dt0577.cn/news/29210.html

相关文章:

  • 个人网页制作设计图深圳seo关键词优化
  • 网站开发过程的需求分析哈尔滨seo优化公司
  • 淘宝客做销量的网站有哪些seo关键词怎么选择
  • 介绍一种网络营销方式seo技术代理
  • 网站没备案怎么做加速十大免费网站推广
  • 男性产品哪个网站可以做搜索软件排行榜前十名
  • 自己做网站能赚到广告费吗seo咨询解决方案
  • 上海买二手房做哪个网站好优化营商环境的金句
  • wordpress弹出登录seo是什么职业做什么的
  • 跨境网站有哪些手机网页设计制作网站
  • 编写网站策划书微信社群营销怎么做
  • 网站公司介绍模板天堂网长尾关键词挖掘网站
  • 房产信息查询系统官方网站上海谷歌seo公司
  • 江苏省建设类高工申报网站百度免费seo
  • 昆明北京网站建设b站不收费网站
  • 重庆网站建设首选卓光视频号关键词搜索排名
  • 有什么做任务的网站吗推广网站源码
  • 番禺网站制作哪里有做网店自己怎么去推广
  • python库之web网站开发百度竞价什么意思
  • 新网站如何做优化广东今日最新疫情通报
  • 如何将自己做的网站导入淘宝竞价代运营公司
  • 成都全美网站建设如何把一个关键词优化到首页
  • 管理网站开发b2b免费推广平台
  • 东丰在线网站建设上海seo优化bwyseo
  • wordpress标签文章列表逆冬seo
  • 深圳优化网站公司seddog站长之家
  • 网站开发业务好做吗app地推网
  • 在门户网站上做推广seo优化易下拉排名
  • 潍坊哪里能找到做网站的如何创建一个属于自己的网站
  • 陕西交通建设集团官方网站怎么查权重查询