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

邢台物流网站建设google play store

邢台物流网站建设,google play store,百度搜索指数入口,关键词在线试听免费此注解是springboot自动注入的关键注解#xff0c;所以拿出来单独分析一下。 启动类的run方法跟进去最终找到refresh方法#xff1b; 这里直接看这个org.springframework.context.support.AbstractApplicationContext#refresh方法即可#xff0c;它下面有一个方法 invoke…此注解是springboot自动注入的关键注解所以拿出来单独分析一下。 启动类的run方法跟进去最终找到refresh方法 这里直接看这个org.springframework.context.support.AbstractApplicationContext#refresh方法即可它下面有一个方法 invokeBeanFactoryPostProcessors(beanFactory) 此处 最终调用的是 org.springframework.context.support.PostProcessorRegistrationDelegate#invokeBeanFactoryPostProcessors方法 在这里就不做详细的每一步分析了直接找起作用的代码了。 它下面有一段如下代码 // First, invoke the BeanDefinitionRegistryPostProcessors that implement PriorityOrdered. String[] postProcessorNames beanFactory.getBeanNamesForType(BeanDefinitionRegistryPostProcessor.class, true, false);断点可以看到 在加上代码的注释此时第一步调用了获取实现BeanDefinitionRegistryPostProcessor的接口的类的方法可以看到此时只有一个类即ConfigurationClassPostProcessor类它是由容器初始化的时候指定加载的bean定义用来扫描springboot注解配置的相关属性类 所以此时就会调用其的processConfigBeanDefinitions方法此方法中有一个 parser.parse(candidates) 最终调用的方法中会有如下代码 // Process any Import annotations processImports(configClass, sourceClass, getImports(sourceClass), filter, true) 可以看到到此处的时候才会去加载Import注解但在此之前程序会扫描Component、PropertySourcesComponentScans注解 此时读取到相应的实现import引入的类的selectImports方法即可执行相关的配置属性在执行的时候有一个判断 if (candidate.isAssignable(ImportSelector.class)) { }else if (candidate.isAssignable(ImportBeanDefinitionRegistrar.class)) { } 即使用Import注解时其类必须实现ImportSelector接口或者ImportBeanDefinitionRegistrar接口 然后调用其selectImports方法或者registerBeanDefinitions方法这里ImportSelector还有一个子接口即DeferredImportSelector接口 那么在这个三者之间存在什么关系 if (selector instanceof DeferredImportSelector) { this.deferredImportSelectorHandler.handle(configClass, (DeferredImportSelector) selector); } 如果实现了DeferredImportSelector接口它会将其放入一个DeferredImportSelectorHandler中不会立马执行而如果是ImportSelector接口则会直接调用其方法。如果是ImportBeanDefinitionRegistrar接口则会添加到ConfigurationClass#importBeanDefinitionRegistrars属性中他是一个map。 所以ImportSelector接口会直接执行方法其他两种都会延迟执行加载那么延迟到什么时候呢 1对于DeferredImportSelector接口则是parse方法的最后一步 this.deferredImportSelectorHandler.process() 此时才会去执行实现ImportBeanDefinitionRegistrar接口的方法 此时要注意ImportBeanDefinitionRegistrar接口内部有一个Group接口当getImportGroup方法不返回null时此时就不会执行其selectImports接口了此时会调用Group下的process方法此处在后面会使用到 ImportSelector与DeferredImportSelector的区别就是selectImports方法执行时机有差别在DeferredImportSelector之前会对ImportResource、Bean这些注解进行处理。 2对于ImportBeanDefinitionRegistrar接口 在上面的parse方法执行完之后会有如下方法 this.reader.loadBeanDefinitions(configClasses) 此时会执行ImportBeanDefinitionRegistrar接口的方法 所以最终的执行时机为 ImportSelector接口的优先级高于DeferredImportSelector接口的执行时机 DeferredImportSelector接口的优先级高于ImportBeanDefinitionRegistrar接口的执行时机。
http://www.dnsts.com.cn/news/31404.html

相关文章:

  • 网站 建设原则网站效果
  • 红桥集团网站建设wordpress hook 列表
  • 机房建设 网站北京远程时代网站建设
  • 国外购物网站建设儿童网页设计素材
  • 桂林网站建怎么自己做淘宝网站
  • 文本资料分享网站 建设wordpress微信注册登录
  • 辽宁朝阳网站建设公司做网站编程有钱途么
  • 404 not found网站东明网站建设
  • 外企网站建设国家工信部网站备案
  • 做图网站地图东莞网站建设qq群
  • 国际空间站优秀个人网站图片
  • 深圳建专业网站wordpress 指定分类
  • 公司域名注册后怎么建设网站东莞公司网站怎么做
  • 企业官方网站开发外包昆明网站设计价格
  • 网站主机选择与优化毕业去设计公司还是企业
  • 乌兰浩特建设网站网站seo设计方案案例
  • 想要学做网站需要什么金坛网站制作
  • 公司网站优化怎么做辽宁网站制作公司
  • 网站开发 北京外包公司网站的建设与预算
  • 庐江魅力网做网站号码河北商城网站建设价格低
  • 建网站对企业的作用深圳电子商务网站开发
  • 江苏股票配资网站建设Linux主机设置网站首页
  • 优秀手机网站版式用网站模板做新网站
  • 游戏网站建设需要多少钱怎么做国际网站首页
  • 重新建设网站的申请报告网站挂马检测流程图
  • 怎么才能让网站图文展示一站式网站手机端怎么做
  • 网站链接优化怎么做wordpress播放器源码
  • 成都建站哪家好seo网站优化流程
  • 网站首页不收录angularjs 做电商网站
  • 网站统计热力图织梦医疗网站源码