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

网站psd设计稿网站建设作用图片

网站psd设计稿,网站建设作用图片,wordpress widgets,哪个公司的app软件定制一、什么是自动装配 在使用SpringBoot的时候,会自动将Bean装配到IoC容器中。例如我们在使用Redis数据库的时候,会引入依赖spring-boot-starter-data-redis。在引入这个依赖后,服务初始化的时候,会将操作Redis需要的组件注入到IoC…

一、什么是自动装配

在使用SpringBoot的时候,会自动将Bean装配到IoC容器中。例如我们在使用Redis数据库的时候,会引入依赖spring-boot-starter-data-redis。在引入这个依赖后,服务初始化的时候,会将操作Redis需要的组件注入到IoC容器中进行后续使用

自动装配大致过程如下:

获取到组件(例如spring-boot-starter-data-redis)META-INF文件夹下的spring.factories文件

spring.factories文件中列出需要注入IoC容器的类

将实体类注入到IoC容器中进行使用

二、自动装配原理

自动装配大致流程是通过@SpringBootApplication进行实现,这个注解声明在SpringBoot的启动类上

1、SpringBoot启动类

2、@SpringBootApplication注解

SpringBoot启动类=>@SpringBootApplication

3、@SpringBootConfiguration注解

SpringBoot启动类=>@SpringBootApplication=>@SpringBootConfiguration

通过@SpringBootConfiguration注解标识SpringBootApplication是一个SpringBoot配置类

@AliasFor注解用于为注解属性声明别名(@SpringBootApplication注解也有@AliasFor注解)

4、@EnableAutoConfiguration注解

SpringBoot启动类=>@SpringBootApplication=>@EnableAutoConfiguration

通过@EnableAutoConfiguration注解实现自动装配

5、@AutoConfigurationPackage注解SpringBoot启动类=>@SpringBootApplication=>@EnableAutoConfiguration=>@AutoConfigurationPackage

通过@AutoConfigurationPackage注解将添加该注解的类所在的package作为自动配置package进行管理

通过AutoConfigurationPackages工具类获取自动配置package列表,也就是说当SpringBoot应用启动时默认会将启动类所在的package作为自动配置的package

6、@EnableAutoConfiguration注解最重要的是AutoConfigurationImportSelector.class,将需要装配的类装配到IoC容器中,下面重点分析一下这个类的实现

三、核心类分析

1、selectImport方法

AutoConfigurationImportSelector中的selectImport方法是自动装配的核心实现,它主要是读取META-INF/spring.factories文件,经过去重、过滤,返回需要装配的配置类集合

2、getAutoConfigurationEntry方法

selectImport方法=>getAutoConfigurationEntry方法

getAttributes方法:获取@EnableAutoConfiguration中的exclude、excludeName等

getCandidateConfigurations方法:获取所有自动装配的配置类,也就是读取spring.factories文件,后面会再次说明

removeDuplicates方法:去除重复的配置项

getExclusions方法:根据@EnableAutoConfiguration中的exclude、excludeName移除不需要的配置类

fireAutoConfigurationImportEvents方法:广播事件

最后根据多次过滤、判重返回配置类合集

3、getCandidateConfigurations方法

selectImport方法=>getAutoConfigurationEntry方法=>getCandidateConfigurations方法

通过loadFactoryNames方法,扫描classpath下的META-INF/spring.factories文件,里面是以key=value形式存储,读取其中key=EnableAutoConfiguration,value就是需要装配的配置类,也就是getCandidateConfigurations返回的值

四、总结

1)通过注解@SpringBootApplication=>@EnableAutoConfiguration=>@Import({AutoConfigurationImportSelector.class})实现自动装配

2)AutoConfigurationImportSelector类中重写了ImportSelector中selectImports方法,批量返回需要装配的配置类

3)通过Spring提供的SpringFactoriesLoader机制,扫描classpath下的META-INF/spring.factories文件,读取需要自动装配的配置类

4)依据条件筛选的方式,把不符合的配置类移除掉,最终完成自动装配

http://www.yayakq.cn/news/646370/

相关文章:

  • 好网站推荐的网站wordpress模板代码
  • 做宽带销售网站承德住房和城乡建设局网站关闭了
  • 网站底部的备案信息修改免费.网站最新域名
  • 网站建设属于什么支出大连能做网站的公司有
  • 阿里巴巴网站装修怎么做全屏大图中文网站建设英文网站建设
  • 慈溪网站建设报价ps做网站字号大小
  • 江苏交通建设监理协会网站如何做电商网站
  • 做服装搭配直接售卖的网站ios个人开发者账号多少钱
  • 三网合一网站建设费用成都做网站设计哪家最权威
  • 安徽建设厅网站网址微信推广广告在哪里做
  • 创建一个网站 优帮云沈阳网络推广优化
  • 鞍山一般建一个网站需要多少钱我的家乡网站建设
  • 世代网络高端企业网站建设设计功能公司WordPress多用户商城插件
  • 淮南网站推广科技公司最全经营范围
  • 美食网站开发背景怎么利用360域名做网站
  • 专业做企业活动的趴网站wordpress权限设置
  • 手机网站 设计趋势资阳seo
  • 青岛企业网站设计制作最简单的html代码
  • 揭阳专业做网站邯郸最新通告今天
  • 电商网站建设推荐微信网站建设企业
  • 新网网站空间到期停了 咋续费面包店网站建设论文
  • 十大网站建设公司排名天眼查网站建设公司
  • 阿里云能放企业网站吗企业门为什么要建设门户网站
  • 网站建设答辩问题汕头各类免费建站
  • seo网站优化师自学编程从哪里开始学
  • 手机搭建网站教程视频教程什么是sem
  • 怎么选择昆明网站建设高新网页设计报价
  • 专做投放广告网站怎么建设一个自己的网站
  • 中山哪家建网站好福建seo关键词优化外包
  • 电商网站推广怎么做自己做网站好还是购买网站好