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

如何建设万网网站搜索引擎优化seo课程总结

如何建设万网网站,搜索引擎优化seo课程总结,响应式网页设计与实现,产品开发前言 SpringBoot 是一个让所有 Java 开发者都又爱又恨的框架。喜欢它是因为其易用性和提供的丰富功能,而它较为复杂的设计也让许多开发者头疼不已。 本期知行将会为大家带来以下内容,和大家一起梳理 SpringBoot 中一些较为核心的内容。 SpringBoot 启…

前言

SpringBoot 是一个让所有 Java 开发者都又爱又恨的框架。喜欢它是因为其易用性和提供的丰富功能,而它较为复杂的设计也让许多开发者头疼不已。

本期知行将会为大家带来以下内容,和大家一起梳理 SpringBoot 中一些较为核心的内容。

SpringBoot 启动流程

SpringBoot 的启动流程主要有以下几个核心步骤:

  1. 创建启动容器:创建 DefaultBootstrapContext,用于引导 IOC 容器启动;
  2. 启动监听器:监听应用启动时发生的相关事件;
  3. 准备应用环境:负责配置应用需要的环境;
  4. 创建应用上下文:创建核心 IOC 容器;
  5. 准备应用上下文:加载 BeanDefinition;
  6. 刷新应用上下文:创建 Bean;
  7. 调用 Runner:执行用户自定义的 Runner(ApplicationRunner/CommandLineRunner),用于扩展;

SpringBoot 生命周期

SpringBoot 生命周期的每个阶段都会发布相应的事件:

  1. starting(启动):发布 ApplicationStartingEvent 事件;
  2. environmentPrepared(环境准备完成):发布 ApplicationEnvironmentPreparedEvent 事件;
  3. contextPrepared(上下文准备完成): 发布 ApplicationContextInitializedEvent 事件;
  4. contextLoad(上下文加载): 发布 ApplicationPreparedEvent 事件;
  5. started(启动完成): 发布 ApplicationStartedEvent 事件;
  6. ready(就绪):发布 ApplicationReadyEvent 事件;

在 SpringBoot 3.0.0 前,ready 阶段是 running,现在 running 已被废弃。

如果 SpringBoot 生命周期的正常阶段发生异常,会进入失败阶段并发布 ApplicationFailedEvent 事件。

Bean 生产过程

Bean 的生产大致有 4 个核心步骤:

  1. BeanDefinitionLoader 加载 XML 文件或注解中定义的内容;
  2. BeanDefinitionLoader 将加载的内容转换成 BeanDefinition;
  3. BeanDefinitionRegistry 将 BeanDefinition 注册到 BeanFactory 中;
  4. BeanFactory 负责将 BeanDefinition 生成 Bean;

BeanDefinitionLoader

BeanDefinitionLoader 依靠以下几个类完成加载并解析 BeanDefinition:

  1. AnnotatedBeanDefinitionReader:负责解析注解
  2. AbstractBeanDefinitionReader:负责解析 XML 文件
  3. BeanDefinitionReader:负责解析 Groovy 文件
  4. ClassPathBeanDefinitionScanner:扫描指定类路径

Bean 生命周期

Bean 生命周期的 5 个阶段:

  1. 实例化阶段:实例化 Bean;
  2. 填充属性阶段(可能发生循环依赖):对 Bean 的实例化对象进行属性填充;
  3. 初始化阶段(核心操作):负责初始化 Bean,执行一些预定义的方法;
  4. 使用阶段:开发者使用;
  5. 销毁阶段:执行一些预定义的销毁方法;

Bean 与循环依赖

在 Spring 中,若创建 Bean 发生解决循环依赖会通过三级缓存解决。

  1. singletonObjects(一级缓存):存放 完整 的 Bean 对象;
  2. earlysingletonObjects(二级缓存):存放 Bean 的 早期(early)对象;
  3. singletonFactories(三级缓存):存放 Bean 的 工厂(Factory)对象;

知行有话

本期的分享到此结束啦!如果大家认为 SpringBoot 中还有哪些比较核心的知识点没有提及到,欢迎在评论区留言哦~

http://www.dtcms.com/a/595036.html

相关文章:

  • 多个wordpress站点同步手机+显示器自适应wordpress+主题
  • app购物网站建设crm软件有哪些
  • 锡林郭勒建站新企业名录数据免费
  • 没有营业执照 怎么做网站南阳网站优化软件
  • 深圳品牌营销网站网站正在建设模板
  • .网站空间成都品牌包装设计
  • 佛山建站佛山网页设计代理合同
  • 合肥思讯网站建设wordpress 子站点
  • 网站建设设计技术方案模板郑州营销型网站公司电话
  • 江苏省建设厅网站餐饮网站建设思路
  • 网站被黑解决方案百度权重高的网站
  • YOLOv5(四):models/common.py 核心模块速查表
  • 从零开始的web开发(一)
  • 商城类网站用什么做wordpress站点标题副标题换行
  • 咨询公司网站模板discuzq主题
  • 网站开发硬件设计h5响应式网站做动画
  • C语言实战:用枚举+switch实现交通信号灯控制
  • 百度收录不了网站吗设计制作活动记录表
  • 网站域名空间费用div做网站排版
  • 佛山网站设计哪家便宜铜陵市建设工程管理局网站
  • 市建设局网站的综合业务管理平台大连制作网站多少钱
  • 如何给公司注册网站网站不收录排名会降吗
  • 酒店网站建设必要性做任务领积分兑换别的网站上的会员
  • 在网站建设工作会议上讲话个人网站特点
  • 网站建设费摊销几年网站推广的主要方法
  • 多语言网站思路做短租哪个网站好
  • 云南网站排名网站的栏目结构简图怎么做
  • 外贸展示型网站建设公司优化网站价格
  • 建站高端网站wordpress 文章 字体大小
  • 医院网站建设套餐方案seo编辑培训