.yaml
类型的文件 , SpringBoot工程中常用的配置文件类型,最终转换成Name和Value的属性源集合,即通过PropertySource抽象类来描述;
十、数据库集成Spring框架的强大之处还在于能够和其他组件进行简单快速的集成,比如常用的数据库、缓存、消息队列等各种类型的组件,分析内部的集成逻辑,会发现很多原理上的相似性 , 尤其在SpringBoot框架中,约定大于配置;
文章插图
DataSourceAutoConfiguration:SpringBoot工程中数据库的自动化配置类,在配置中Hikari是默认选择的连接池,也是号称速度最快的;
DataSourceProperties:数据源配置相关的基础类,在DataSourceConfiguration配置类中 , 会基于参数去创建数据源对象;
HikariDataSource:Hikari连接池组件中的数据源API,描述数据源的具体信息,例如配置、连接池、状态等,具体的数据库连接逻辑是在该组件内部完成的;
基于SpringBoot集成数据库的原理 , 可以扩展性的看看:Redis组件的RedisAutoConfiguration配置类;Kafka组件的KafkaAutoConfiguration配置类,Elasticsearch组件的RestClientAutoConfiguration配置类,在设计原理上都有异曲同工之妙;
写在最后
从个人经验来看 , 想要阅读Spring框架的源码设计,需要基于应用流程先构建一个大的轮廓结构,理解设计中的常用策略和原理,然后再深入单个模块的细节逻辑 , 这样容易找到阅读节奏;
本文并没有涉及源码中过多的细节逻辑,只是从服务启动作为切入点 , 整理与开发关联性较为直接的源码模块,描述个人对于Spring源码阅读的基础思路 。
十一、参考源码
应用仓库:https://gitee.com/cicadasmile/butte-flyer-parent组件封装:https://gitee.com/cicadasmile/butte-frame-parent
【从SpringBoot启动,阅读源码设计】
推荐阅读
- 实用帖:从成都到稻城亚丁,最全自驾游攻略
- 在PE文件中简单注入代码,实现在启动前弹窗
- Springboot 之 Filter 实现 Gzip 压缩超大 json 对象
- 从 C# 崩溃异常 中研究页堆布局
- [CG从零开始] 6. 加载一个柴犬模型学习UV贴图
- 【Spring boot】启动过程源码分析
- [CG从零开始] 5. 搞清 MVP 矩阵理论 + 实践
- 华为如何查看手机屏幕厂商_华为如何查看手机屏幕供应商
- Springboot 之 Mybatis-plus 多数据源
- gin项目部署到服务器并后台启动