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

建网站商城在哪做湖南网站建设 莫道

建网站商城在哪做,湖南网站建设 莫道,网页制作教程课件,江西建设单位网站一bean的自注册过程 二,自注册过程说明 1 configurationclassparser解析流程 1、处理PropertySources注解#xff0c;配置信息的解析 2、处理ComponentScan注解#xff1a;使用ComponentScanAnnotationParser扫描basePackage下的需要解析的类(SpringBootApplication注解也包…一bean的自注册过程 二,自注册过程说明 1 configurationclassparser解析流程 1、处理PropertySources注解配置信息的解析 2、处理ComponentScan注解使用ComponentScanAnnotationParser扫描basePackage下的需要解析的类(SpringBootApplication注解也包括了ComponentScan注解只不过basePackages是空的空的话会去获取当前Configuration修饰的类所在的包[这个会在下面详细解释])并注册到BeanFactory中(这个时候bean并没有进行实例化而是进行了注册。具体的实例化在finishBeanFactoryInitialization方法中执行)。对于扫描出来的类递归解析 3、处理Import注解先递归找出所有的注解然后再过滤出只有Import注解的类得到Import注解的值。比如查找SpringBootApplication注解的Import注解数据的话首先发现SpringBootApplication不是一个Import注解然后递归调用修饰了SpringBootApplication的注解发现有个EnableAutoConfiguration注解再次递归发现被Import(EnableAutoConfigurationImportSelector.class)修饰还有AutoConfigurationPackage注解修饰再次递归AutoConfigurationPackage注解发现被Import(AutoConfigurationPackages.Registrar.class)注解修饰所以SpringBootApplication注解对应的Import注解有2个分别是Import(AutoConfigurationPackages.Registrar.class)和Import(EnableAutoConfigurationImportSelector.class)。找出所有的Import注解之后开始处理逻辑 (1)、遍历这些Import注解内部的属性类集合 (2)、如果这个类是个ImportSelector接口的实现类实例化这个ImportSelector如果这个类也是DeferredImportSelector接口的实现类那么加入ConfigurationClassParser的deferredImportSelectors属性中让第6步处理。否则调用ImportSelector的selectImports方法得到需要Import的类然后对这些类递归做Import注解的处理 (3)、如果这个类是ImportBeanDefinitionRegistrar接口的实现类设置到配置类ConfigurationClass的importBeanDefinitionRegistrars属性中 (4)、其它情况下把这个类入队到ConfigurationClassParser的importStack(队列)属性中然后把这个类当成是Configuration注解修饰的类递归重头开始解析这个类 4、处理ImportResource注解获取ImportResource注解的locations属性得到资源文件的地址信息。然后遍历这些资源文件并把它们添加到配置类的importedResources属性中 5、处理Bean注解获取被Bean注解修饰的方法然后添加到配置类的beanMethods属性中 6、处理DeferredImportSelector处理第3步Import注解产生的DeferredImportSelector进行selectImports方法的调用找出需要import的类然后再调用第3步相同的处理逻辑处理 2 springbootapplication注解 SpringBootApplication注解被EnableAutoConfiguration修饰EnableAutoConfiguration注解被Import(EnableAutoConfigurationImportSelector.class)修饰所以在第3步会找出这个Import修饰的类EnableAutoConfigurationImportSelector这个类刚好实现了DeferredImportSelector接口接着就会在第6步被执行。第6步selectImport得到的类就是自动化配置类。 EnableAutoConfigurationImportSelector的selectImport方法会在spring.factories文件中找出key为EnableAutoConfiguration对应的值【这些值就是所谓的自动化配置类(XXXAutoConfiguration)】。 ConfigurationClassParser解析完成之后被解析出来的类会放到configurationClasses属性中。然后使用ConfigurationClassBeanDefinitionReader去解析这些类。 三 componentscanannotationparaser包扫描相关 首先启动一个springboot web工程找到ApplicationContext的父类org.springframework.context.support.AbstractApplicationContext  我们发现其真实的对象的类型是AnnotationConfigEmbeddedWebApplicationContext。 自身构造过程如下。    继续追踪AnnotationConfigUtils.registerAnnotationConfigProcessors(this.registry)       终于找到了ConfigurationClassPostProcessor自注册后置处理器。这里有个有趣的ConfigurationClassPostProcessor解析流程, 内部调用中会使用 ComponentScanAnnotationParser去扫描ComponentScanAnnotationParser类的parse方法有这样一段逻辑 if (basePackages.isEmpty()) {basePackages.add(ClassUtils.getPackageName(declaringClass)); }参考下面的相关图 也就是如果basePackages没有配置会找declaringClass 对应包及其子包declaringClass对应springboot项目中我们写的Application.java(SpringBootApplication)         3 调用栈   2 实际项目结构     包结构这样的话即使不配置componentScan不使用AutoConfiguration也可以扫描到bean。Application.java带有SpringbootApplication注解该注解中带有ComponentScan注解Application.java包的范围包含了所有java文件所以项目中所有bean都可以被扫描到。 注declaringClass 指的是带有ComponentScan 注解的类
http://www.sadfv.cn/news/223143/

相关文章:

  • 广州效果图设计公司泰州网站关键词优化
  • 桥梁建设设计网站哪个软件可以做明星视频网站
  • 网站推广有哪些优势网站流量 收益
  • 网站开发文档撰写作业电商设计一般都是做什么
  • 个人备案做分站的网站吗微信建网站服务
  • 中国海员建设工会网站如何进入邮箱的网站
  • 网站生成手机网站wordpress 整站转移
  • 网站选择空间东营网站制作方案
  • 网站排名上升 优帮云辽宁智能网站建设制作
  • 中英文外贸网站模板 生成静态html渭南几个区
  • 做网站销售好不好wordpress弹出服务协议窗口
  • 北京cms建站系统电商小程序开发平台
  • 学做网站都要学什么专业郑州网站seo排名
  • 自助建站设计工作主要包括烟台元和网络科技有限公司
  • 商城网站建站系统源码昆山做网站的公昆山做网站的公司司
  • 苏州的互联网公司有哪些班级优化大师下载安装app
  • 自助网站建设公司网站建设的步骤教程视频教程
  • 门户网站建设方案公司个体户 网站建设
  • 注册网站账号审核不通过无法登陆怎么办黄石网站设计公司
  • 网站开发通过什么途径接活杭州最好的电商培训学校
  • wordpress搜站点网络中断跨境电商运营模式有哪些
  • 哪些企业需要做网站建设银行的网站用户名是什么意思
  • 网站地图seo公司小程序建设哪家好
  • 网站后台管理模板下载嘉兴seo管理
  • 网站的后台一般用什么做的谷歌外贸网站建站
  • 常用知名购物网站网站建设的例子
  • 做一手房做那个网站好网站如何被百度快速收录
  • 做二手车有哪些网站有哪些手续费宿迁网站建设sq918
  • 用手机可以建设一个手机网站吗房屋设计3d图用什么软件
  • 格朗图手表网站新媒体营销的优势