【二】spring boot-设计思想

spring boot-设计思想

**简介:**现在越来越多的人开始分析spring boot源码,拿到项目之后就有点无从下手了,这里介绍一下springboot源码的项目结构

一、项目结构

从上图可以看到,源码分为两个模块:

  • spring-boot-project:整个SpringBoot框架全部功能在这个模块实现,包含核心、工具、安全、文档、starters等项目。
  • Spring-boot-tests:这个模块SpringBoot的测试模块,跟部署测试和集成测试有关。

SpringBoot的全部功能在spring-boot-project模块实现,下面重点来介绍下 spring-boot-project 模块,其中spring-boot模块是Spring Boot核心代码,也是入口类SpringApplication类所在项目。如下图是spring boot模块的展开图

二、设计思想

核心设计思想是"约定优于配置",一开始看到这句该不知道怎么去了解,使用一段时间时候感受到了springboot设计的优势之后就可以很深刻的体会到这句话的意思了。之前没有springboot脚手架的时候,项目配置越来越多,逐渐难以维护,而且使用上还经常出错,使用了springboot脚手架来开发系统之后,发现springboot约定了很多内置的配置,我们在开发的过程中只需要引入相应的starter包,springboot就可以帮我们完成很多模版化的工作。

需要深入理解springboot设计思想的话我们还需要去探索一下springboot的核心运行原理,每个springboot项目都可以通过main方法启动运行,而main方法里面调用了SpringApplication类的run方法,要想搞清楚springboot的运行原理,需要深入到run方法源码了,这里我们不做这方面的介绍,下一篇文章会进行细节方面的讲解。如下贴出了run方法源码:

run方法中主要实现了如下的功能:

复制代码
* 第一步:获取并启动监听器
* 第二步:构造容器环境
* 第三步:创建容器
* 第四步:实例化SpringBootExceptionReporter.class,用来支持报告关于启动的错误
* 第五步:准备容器
* 第六步:刷新容器
* 第七步:刷新容器后的扩展接口

以上每一步的实现细节都可以写一篇博客来介绍,一开始理解springboot不需要纠结这么细枝末节,容易把自己绕进去,后续文章我也只是介绍主流程。

总结:

本文只是大体上介绍了一下springboot脚手架的设计思想,起到开篇的作用,后续文章会深入到细节来进行详细讲解,希望后续博客能够对大家springboot理解springboot脚手架起到一点帮助。

相关推荐
Marktowin8 分钟前
SpringBoot项目的国际化流程
java·后端·springboot
墨雨晨曦8816 分钟前
2026/01/20 java总结
java·开发语言
汤姆yu21 分钟前
基于springboot的直播管理系统
java·spring boot·后端
a努力。26 分钟前
虾皮Java面试被问:分布式Top K问题的解决方案
java·后端·云原生·面试·rpc·架构
黎雁·泠崖31 分钟前
Java字符串入门:API入门+String类核心
java·开发语言·python
leikooo43 分钟前
Spring AI 工具调用回调与流式前端展示的完整落地方案
java·spring·ai·ai编程
vx1_Biye_Design1 小时前
基于web的物流管理系统的设计与实现-计算机毕业设计源码44333
java·前端·spring boot·spring·eclipse·tomcat·maven
MediaTea1 小时前
Python:MRO 解密 —— C3 线性化算法
java·开发语言
tqs_123451 小时前
倒排索引数据结构
java·前端·算法
饱饱要坚持可持续发展观1 小时前
SpringBoot 集成 Liquibase
java·spring boot·后端