大家好,又见面了,我是你们的朋友全栈君。
系列文章目录
Springboot学习系列
一、Springboot源码结构预览
二、Springboot运行原理
三、Springboot源码流程构造分析
四、Springboot运行流程构造分析
五、Springboot Web应用源码解析
概述
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。Springboot源码获取、调试、目录结构、设计理念、整体架构。
二、Springboot源码
1.源码获取
源码地址:
https://github.com/spring-projects/spring-boot
2.源码调试
通常使用“实例+debug”方法对Spring Boot源代码进行调试与追踪。创建入口类代码:
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
3.目录结构
spring-boot-project:Spring Boot核心项目代码,包含核心、工具、安全、文档、starters等项目。
spring-boot-tests:Spring Boot部署及集成的测试。
spring-boot-project目录是在Spring Boot 2.0版本发布后新增的目录层级,该模块包含了Spring Boot所有的核心功能。
模块 | 功能 |
---|---|
spring-boot | Spring Boot核心代码,也是入口类SpringApplication类所在项目,是本书重点介绍的内容。 |
spring-boot-actuator | 提供应用程序的监控、统计、管理及自定义等相关功能。 |
spring-boot-actuator-autoconfigure | Spring Boot自动配置核心功能,默认集成了多种常见框架的自动配置类等。 |
spring-boot-cli | 命令工具,提供快速搭建项目原型、启动服务、执行Groovy脚本等功能。 |
spring-boot-dependencies | 依赖和插件的版本信息。 |
spring-boot-docs | 参考文档相关内容。 |
spring-boot-parent | spring-boot-dependencies的子模块,是其他项目的父模块 |
spring-boot-properties-migrator | Spring Boot 2.0版本新增的模块,支持升级版本配置属性的迁移 |
spring-boot-starters | Spring Boot以预定义的方式集成了其他应用的starter集合 |
spring-boot-test | 测试功能相关代码 |
spring-boot-test-autoconfigure | 测试功能自动配置相关代码 |
spring-boot-tools | Spring Boot工具支持模块,包含Ant、Maven、Gradle等构建工具 |
3.设计理念与目标
Spring所拥有的强大功能之一就是可以集成各种开源软件。Spring Boot本身并不提供Spring的核心功能,而是作为Spring的脚手架框架,以达到快速构建项目、预置三方配置、开箱即用的目的。
3.1设计理念
约定优于配置(Convention Over Configuration),又称为按约定编程,是一种软件设计范式,旨在减少软件开发人员需要做决定的数量,执行起来简单而又不失灵活。
Spring Boot的功能从细节到整体都是基于“约定优于配置”开发的,从基础框架的搭建、配置文件、中间件的集成、内置容器以及其生态中各种Starters,无不遵从此设计范式。Starter作为Spring Boot的核心功能之一,基于自动配置代码提供了自动配置模块及依赖,让软件集成变得简单、易用。与此同时,Spring Boot也在鼓励各方软件组织创建自己的Starter
3.2设计目标
Spring Boot框架的设计理念完美遵从了它所属企业的目标,为平台和开发者带来一种全新的体验:整合成熟技术框架、屏蔽系统复杂性、简化已有技术的使用,从而降低软件的使用门槛,提升软件开发和运维的效率。
4.Spring Boot的整体架构
Spring Boot的核心项目结构及功能
总结
本讲述了Springboot源码架构。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/136282.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...