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

擦边球网站怎么做推广平台有哪些洛克

擦边球网站怎么做,推广平台有哪些洛克,做业务的网站,中国建设银行官网企业网银登录前言 本文简要介绍SpringBoot的自动配置原理。 本文讲述的SpringBoot版本为#xff1a;3.1.2。 前置知识 在看原理介绍之前#xff0c;需要知道Import注解的作用#xff1a; 可以导入Configuration注解的配置类、声明Bean注解的bean方法#xff1b;可以导入ImportSele…前言 本文简要介绍SpringBoot的自动配置原理。 本文讲述的SpringBoot版本为3.1.2。 前置知识 在看原理介绍之前需要知道Import注解的作用 可以导入Configuration注解的配置类、声明Bean注解的bean方法可以导入ImportSelector的实现类【自动配置原理用到注解的这个作用】可以导入ImportBeanDefinitionRegistrar的实现类。 原理介绍 从启动类入手 一个常规的SpringBoot项目的启动类内容如下 从启动类上的SpringBootApplication入手 三个注解箭头指示的注解各有各的作用 SpringBootConfiguration组合了Configuration注解表示这是一个配置类EnableAutoConfiguration允许自动配置ComponentScanSpring的组件扫描默认扫描main方法所在类所在的包及其子包 其中第二个注解EnableAutoConfiguration是实现自动配置的关键。 从EnableAutoConfiguration注解入手 可以看到该注解中有一个Import注解先说结论在AutoConfigurationImportSelector类中加载了哪些需要自动配置的Bean并完成加载注入到IOC容器中。 到AutoConfigurationImportSelector类 从AutoConfigurationImportSelector类入手 可以看出AutoConfigurationImportSelector类是org.springframework.boot.autoconfigure包下的一个类实现了DeferredImportSelector等接口 org.springframework.boot.autoconfigure望名生意自动配置就是在该包里面规定了哪些Bean需要配置。DeferredImportSelector该接口是实现自动配置的关键里面的selectImports方法规定了哪些Bean需要自动配置。 往下滑看AutoConfigurationImportSelector类的selectImports方法 红框所示代码返回了需要自动配置的Bean列表。 从this.getAutoConfigurationEntry方法入手 protected AutoConfigurationEntry getAutoConfigurationEntry(AnnotationMetadata annotationMetadata) {if (!this.isEnabled(annotationMetadata)) {return EMPTY_ENTRY;} else {AnnotationAttributes attributes this.getAttributes(annotationMetadata);// 获取该类所在包下的META-INF/spring/目录中以.imports为后缀结尾的文件里面的内容作为候选配置列表ListString configurations this.getCandidateConfigurations(annotationMetadata, attributes);// 去除重复的配置configurations this.removeDuplicates(configurations);// 排除部分元注解信息中需要排除的配置SetString exclusions this.getExclusions(annotationMetadata, attributes);this.checkExcludedClasses(configurations, exclusions);configurations.removeAll(exclusions);// 过滤掉一些暂时不生效的配置加了如下注解的beanOnxxxConditionconfigurations this.getConfigurationClassFilter().filter(configurations);this.fireAutoConfigurationImportEvents(configurations, exclusions);return new AutoConfigurationEntry(configurations, exclusions);} }该方法中代码的逻辑如上。就剩一个this.getCandidateConfigurations方法需要再探究里面规定了从哪个地方寻找需要配置的bean列表。 从this.getCandidateConfigurations方法入手 再进入箭头所指向的load方法 可以看到该方法往包下的META-INF/spring/目录中寻找后缀名为.imports的文件。 到org.springframework.boot.autoconfigure包中看看 从idea左侧的依赖列表里面查看 点开文件里面任意一个类 都是一个自动配置类定义有相应的Bean方法。 至此SpringBoot的自动配置原理就明白了。 原理总结 启动类中有一个SpringBootApplication注解包含了EnableAutoConfiguration代表开启自动装配EnableAutoConfiguration注解里面组合了一个Import注解这个注解是实现自动配置的关键。Import注解最终的作用可以总结如下到spring-boot-autoconfigure包下的META-INF/spring目录中寻找.imports结尾的文件这里面列举了所有需要自动配置的类程序会读取这些类并加载但这些类不会全部加载因为有的类上面有条件注解需要满足特定条件时才会生效 spring-boot-autoconfigure包下的AutoConfigurationImportSelector类实现了ImportSelector并重写了selectImports方法在selectImports方法中定义类自动配置类的加载位置。还有一些配置类的去重操作、排除操作等。
http://www.dnsts.com.cn/news/223384.html

相关文章:

  • 竹子林附近网站建设北京住房与建设部网站首页
  • 萧山区住房和城乡建设局网站wordpress短视频模板
  • 国外建设网站流程seo诊断书
  • 建立网站需要哪些做试试彩网站
  • 面试网站建设的问题6免费制作动画的app
  • 外贸商城建站wordpress 纯代码
  • 大学培训中心网站建设产品软文
  • 网站开发安全机制网站做导航设计的作用是什么
  • 网站建设相关的广告标语淄博网站建设设计公司
  • 网站建设添加资料网站推广销售腾讯会员被告怎么办
  • wordpress标签描述代码安卓aso优化工具
  • 境外网站网站有哪些google官网下载
  • 网站什么也没动怎么不收录啦天津是哪个省
  • 下载建网站网站建站网站299266co
  • 百色高端网站建设Wordpress防止图片盗链
  • pc网站建设建议河北住房和城乡建设厅网站官网
  • 做网站的IT行业wordpress会员邀请码
  • 广州英文网站建设做电子网站
  • 自己做个网站用什么软件好宽带营销案例100例
  • 网站建设主管网站建设与制作教程北华大学
  • 无锡网站建设公司怎么样十大社交电商平台排名
  • 潍坊网站制作最低价格wordpress网站资源
  • 建设垂直网站需要哪些流程百度手机助手app下载并安装
  • 哪些网站有任务做php网站数据库修改
  • 专业的设计网站有哪些内容wordpress视频站
  • 网站开发常见面试网站开发使用哪种工具好
  • 网站建设公司怎么做业务厦门模板建站系统
  • 福州优秀网站建设公司网站开发语言一般是用什么
  • 深圳蚂蚁网络网站建设合肥网页制作培训
  • 长泰县建设局网站杭州it培训机构推荐