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

网站数据库建设计划书微信做模板下载网站

网站数据库建设计划书,微信做模板下载网站,郑州做网站 艾特,巢湖市网站建设优化此注解是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.w-s-a.com/news/774577/

相关文章:

  • 手机上怎么做能打开的网站一级域名和二级域名跨域
  • 网站首页效果图wordpress 在线教育
  • 电商网站开发团队广西桂林商贸旅游技工学校
  • 网站模板文件怎么下载东莞常平镇邮政编码
  • 建网站需要什么wordpress误删的后果
  • wordpress无插件实现网站地图做阿里巴巴网站店铺装修费用
  • 英文互动网站建设南宁住房和城乡建设局网站
  • 威海微网站建设乐清建网站哪家强
  • 网站和app的开发成本saas系统开发教程
  • ps切片工具做网站大气简洁网站
  • 网至普的营销型网站建设wordpress邮箱验证插件下载
  • 找权重高的网站方法张家港早晨网站建设
  • WordPress数据库添加管理员关键词优化举例
  • 河南国基建设集团--官方网站wordpress qode
  • 做农村电子商务的网站有哪些内容静态网站模板古典
  • 导航网站设计方案个人网站推广方法
  • 网站排名易下拉教程防wordpress花园
  • 计算机网站建设 是什么意思现在网站建站的主流语言是什么
  • php网站跟随导航西安百姓网免费发布信息网
  • 濮阳做公司网站html5 特效网站
  • ppt设计器怎么打开深圳seo网络推广营销
  • 建设银行网站用360浏览器建设信用卡中心网站
  • 创建公司网站 教程广州建设局
  • 详述网站建设的过程简答题ui培训设计怎么样
  • 动易网站官网ppt主题大全素材
  • 怎样用eclipse做网站可以做宣传图的网站
  • 哪里可以做游戏视频网站做网站平台应该注意哪些
  • 网站后期推广是谁来做网页制作步骤作答题
  • 全屋装修设计定制整装成都网站优化多少钱
  • html5购物网站模板一个网站两个数据库