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

韩国网页游戏网站高端企业

韩国网页游戏网站,高端企业,seo推广分析关键词的第一个步骤,做设计转钱网站在文章Springboot3.3.5 启动流程#xff08;源码分析#xff09;中我们只是粗略的介绍了bean 的装配(Bean的定义)流程和实例化流程分别开始于 finishBeanFactoryInitialization 和 preInstantiateSingletons. 其实,在Spring boot中#xff0c;Bean 的装配是多阶段的#xf…在文章Springboot3.3.5 启动流程源码分析中我们只是粗略的介绍了bean 的装配(Bean的定义)流程和实例化流程分别开始于 finishBeanFactoryInitialization 和 preInstantiateSingletons. 其实,在Spring boot中Bean 的装配是多阶段的 复杂的。 本文将从五个方面介绍 bean 的装配和实例化当然启动过程中还有一些零散的 bean 的创建这里就不做过多介绍。 目录 5 个 RootBean 创建流程应用程序主类bean 创建流程SpringBootApplication标注的类应用程序其它bean的创建流程AutoConfiguration bean 加载流程初始化非懒加载的 bean 5 个 RootBean 创建流程 ConfigurationAnnotationProcessor、 AutowiredAnnotationProcessor 、 CommonAnnotationProcessor EventListenerProcessor 、EventListenerFactory这5个 Bean 的创建是随着 AnnotationConfigServletWebServerApplicationContext 的创建而创建的。 在文章 Springboot启动流程之ApplicationContext 创建 可以看到创建 AnnotationConfigServletWebServerApplicationContext 的同时也创建了 AnnotatedBeanDefinitionReader 和 ClassPathBeanDefinitionScanner. 从名字可以看出一个是用于读取 注解 标注的 bean 定义 一个用于扫描 类路径下 bean 的定义。 在初始化 AnnotatedBeanDefinitionReader的同时 调用 AnnotationConfigUtils 的方法 registerAnnotationConfigProcessors 注册了以上 5 个bean以下是源码信息 根据以上描述 整理出其创建时序图如下 应用程序主类bean 创建流程SpringBootApplication标注的类 应用程序主类 bean的创建是在 SpringApplication.prepareContext 的 load 方法中 其最终是在BeanDefinitionReaderUtils.registerBeanDefinition 调用 AnnotationConfigServletWebServerApplicationContext .registerBeanDefinition 完成注册 SpringBootApplication 标注主类 bean 注册的详细流程如下 应用程序其它bean的创建流程 应用程序其它 bean 的创建起始于 refreshContext 环节最终通过 ConfigurationClassParse.parse 扫描特定包下面的 bean。 应用程序 bean 创建流程时序图如下 AutoConfiguration bean 加载流程 在 Springboot 中一个应用程序通常都需要依赖其它一些组件而且在应用中我们只需要定义好依赖的组件我们就能够使用组件提供的服务这是通过 Spring boot 的自动加载机制实现的。 我们知道要实现自动加载 只需要定义好 服务、自动配置类、自动配置条件然后将自动配置类的完整路径AutoConfiguration标注的类放到 resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports SpringBoot3才支持文件中即可。 在 Spring boot 源码中文件 META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 是通过 ImportCondidates.load 加载所有的自动配置类的其详细源码如下 同应用程序 bean 一样自动配置 bean 也是在 refreshContext 环节完成的,其详细流程如下 初始化非懒加载的 bean 在这之前所有需要的 bean 信息就加载完成了接下来就是初始化所有未初始化的单例 bean singleton bean。 在源码中 每个 bean 的初始化是通过反射实现的其源码如下 在springboot 中bean的初始化是多种多样的 可以是无参构造函数、有参构造函数、工厂方法、自动注入的构造函数等等… 下面是不分源码 protected BeanWrapper createBeanInstance(String beanName, RootBeanDefinition mbd, Nullable Object[] args) {...if (args null) {Supplier? instanceSupplier mbd.getInstanceSupplier();if (instanceSupplier ! null) {return obtainFromSupplier(instanceSupplier, beanName, mbd);}}if (mbd.getFactoryMethodName() ! null) {return instantiateUsingFactoryMethod(beanName, mbd, args);}...if (resolved) {if (autowireNecessary) {return autowireConstructor(beanName, mbd, null, null);}else {return instantiateBean(beanName, mbd);}}// Candidate constructors for autowiring?Constructor?[] ctors determineConstructorsFromBeanPostProcessors(beanClass, beanName);if (ctors ! null || mbd.getResolvedAutowireMode() AUTOWIRE_CONSTRUCTOR ||mbd.hasConstructorArgumentValues() || !ObjectUtils.isEmpty(args)) {return autowireConstructor(beanName, mbd, ctors, args);}// Preferred constructors for default construction?ctors mbd.getPreferredConstructors();if (ctors ! null) {return autowireConstructor(beanName, mbd, ctors, null);}// No special handling: simply use no-arg constructor.return instantiateBean(beanName, mbd);}Bean 初始化详细流程如下 总结 本文以 AnnotationConfigServletWebServerApplicationContext 为基础介绍了 一个应用 所需的bean的创建流程。从整个启动生命周期来看refreshContext 结束后所有的bean 都加载好了。Springboot 中 bean 的创建是多阶段的复杂的如果应用依赖于 srpingboot 启动生命周期一定要关注相关 bean 的创建时机。 Spring boot 启动时 Bean创建流程就介绍完了希望对各位小伙伴有所帮助。
http://www.hkea.cn/news/14372083/

相关文章:

  • 广东省建网站公司wordpress 简历 插件
  • 服装设计师的个人网站建设淘宝客网站源码怎么弄
  • 做不锈钢管网站智慧团建个人注册
  • 信阳网站开发公司在自己网站建立自己的外链
  • 做游戏模型挣钱的网站建设银行网站扫码支付在哪里
  • 推广优化网站排名哪些网站需要做分享按钮
  • 电子商务网站建设与维护意味着什么重庆医疗网站建设
  • 广州外贸网站信息如何做一个内部网站
  • 做淘宝店招的网站网站登录系统源码
  • 淘宝客网站主题模板江门市蓬江发布
  • 怎么用VS2012建设网站叫别人做网站需要注意什么问题
  • wordpress注册未发送邮件长春企业网站seo
  • mvc网站开发实例搜外友链平台
  • wordpress百度云网盘seo推广的优缺点
  • 网站是每年都要付费吗网站建设投标文件范本
  • 淄博百度网站建设网页建设与网站设计心德体会
  • 自己的网站在哪里找最火的营销方式
  • 小米手表网站郑州百姓网二手货车
  • 西安哪家网络公司做网站建网站用的域名多少钱
  • 房产信息网站营口建网站的公司
  • 虚拟主机建立网站一个公司做两个网站的好处
  • 做名片的网站叫什么来着公司宣传册设计样本
  • 网站建设需要技术wordpress 防止被黑
  • 创建学校网站吗网页开发哪家好
  • 广州企业网站建设费用网站运营小白可以做吗
  • 商城网站静态模板下载教育培训东莞网站建设
  • 手机版微网站外包公司注册需要什么
  • 绍兴网站关键词优化帝国cms导航模板
  • 企业网站建设排名价格网站内容专题怎么做
  • 茌平网站制作东莞热点网站建设