Springboot源码结构预览「建议收藏」

Springboot源码结构预览「建议收藏」系列文章目录Springboot学习系列一、Springboot源码结构预览二、Springboot运行原理三、Springboot源码流程构造分析四、Springboot运行流程构造分析五、SpringbootWeb应用源码解析文章目录系列文章目录概述二、Springboot源码1.源码获取2.源码调试3.目录结构3.目录结构总结学习目标:学习内容:学习时间:学习产出:概述Springboot源码获取、调试、目录结构、设计理念、整体架构。二、Springboot源码1.源

大家好,又见面了,我是你们的朋友全栈君。

系列文章目录

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源码架构。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/136282.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • winserver2003DNS服务器配置[通俗易懂]

    winserver2003DNS服务器配置[通俗易懂]目前很多企业事业单位都建立了单位内部的局域网,网络内部都配备相关的服务器(如web、ftp等服务器)。内部网络的用户都希望所有的服务器都用域名来访问,网络管理员可以采用在内部搭建DNS服务器的方式来实现。在内部网络搭建DNS服务器,让用户在其计算的“DNS服务器的IP地址”中输入内部网络DNS服务器的ip地址。在该内部网络的DNS服务器上建立正向、方向搜索区域。将没有注册互联网

    2022年6月1日
  • 想要快速完成一个Python项目,离不开这些开源库

    想要快速完成一个Python项目,离不开这些开源库

    2021年10月28日
  • python中unittest框架_unittest框架原理

    python中unittest框架_unittest框架原理unittest简介参考:https://urlify.cn/e6rAr2为什么要使用unittest在编写接口自动化用例时,我们一般针对一个接口建立一个.py文件,一条测试用例封装为一个函数(方法),但是在批量执行的过程中,如果其中一条出错,后面的用例就无法执行。使用测试框架可以互不影响的用例执行及更灵活的执行控制。unittest特点 •python自带的单元测试框架,无需安装; •用例执行互不干扰; •提供不同范围的setUp(测试准备)和t..

    2022年10月10日
  • union 时只能查出一个表中的信息,另一个表只能查出字段

    union 时只能查出一个表中的信息,另一个表只能查出字段

    2021年10月15日
  • 大型活动大规模人群的识别和疏散:从公交2.0到公交3.0

    大型活动大规模人群的识别和疏散:从公交2.0到公交3.01关于数据本文中所使用到的数据包括,交通卡、交通事故、出租车轨迹、公交车运行、地铁运行、空气质量、气象监测、新浪微博等12个数据集近TB量级的数据。2关于我们我们希望通过应用交通数据以解决大型活动(如演唱会、足球比赛、跨年活动等)结束后大规模人群滞留导致的疏散困难、交通拥堵、事故隐患等一系列问题(如外滩踩踏事件)。在此基础上我们提出“公交3.0”的绿色出行概念,核心包括以下三点:…

    2022年7月16日
  • redis 密码_商用密码知识

    redis 密码_商用密码知识Redis可以设置密码,设置密码后如果不用密码登录,执行命令时会提示错误:下面列举一下Redis密码相关知识。1,在配置文件中设置密码在Redis的配置文件中,可以用requirepass参数配置密码,比如这样:requirepassthisispassword那么密码就是thisispassword。配置文件中设置的密码在启动Redis时就会生效。…

    2022年9月5日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号