IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Spring Boot 2.x系列【1】简介 -> 正文阅读

[Java知识库]Spring Boot 2.x系列【1】简介

有道无术,术尚可求,有术无道,止于术。

本系列Spring Boot版本2.7.0

简介

什么是Spring Boot?

GitHub地址
官方网站
Spring Boot是一个框架,其设计目的是用来简化基于Spring应用的初始搭建以及开发过程。

版本说明

2013年Pivotal开始研发Spring Boot,2014年第一个Spring Boot版本发布。

到今天为止,Spring Boot最新版本为2.7.0 ,而且已经发布了3.0.0快照版,在官网上可以看到各个版本的支持时间。
在这里插入图片描述

版本新特性

Spring Boot版本发布速度很快,而且从发布日期开始,基本都只支持维护一年时间。。。

当发布新版本时,可以通过版本发布说明查看版本升级变化。

可以看到3.0版本最低要求:

  • JDK 17
  • Spring 6.0

  • 在这里插入图片描述

官网文档

文档地址中,可以查看不同版本的使用文档。
在这里插入图片描述
官网使用文档包含了入门、核心功能以及其他额外功能等。
在这里插入图片描述

功能特性

  • 创建独立Spring应用
  • 内嵌web服务器 Tomcat、Jetty 或 Undertow(无需部署 WAR 文件)
  • 自动starter依赖,简化构建配置
  • 自动配置Spring以及第三方功能
  • 提供生产级别的监控、健康检查及外部化配置
  • 无代码生成、无需编写XML

源码结构

GitHub地址
spring-boot-project模块下包含了核心功能模块:
在这里插入图片描述
首先可以看到Spring Boot 也是采用Gradle作为项目自动化构建工具。

spring-boot-project模块下各个子模块功能描述如下:

模块功能描述
spring-boot主库,为其他模块提供特性支持。包括以下内容:SpringApplication类,提供静态方法,方便编写独立运行的Spring应用。唯一的任务是创建和刷新一个合适的Spring ApplicationContext。嵌入式web应用,自带容器(Tomcat, Jetty等)。
spring-boot-actuator暴露自身信息的模块,提供了一个监控和管理生成环境的模块,可以使用http、jmx、ssh、telnet等管理和监控应用,引入此包后应用中会加入审计(Auditing)、 健康(health)、数据采集(metrics gathering)
spring-boot-actuator-autoconfigure为Spring Boot Actuator 提供了额外的自动配置功能
spring-boot-autoconfigure自动配置功能。它和spring-boot外化配置功能的区别在于,springboot是将内部定义的配置属性抽取剥离出来,能够读取外部的配置属性到内存中,而spring-boot-autoconfigure包将这些基础配置可自动装载到对应驱动文件中。
spring-boot-cliSpring Boot CLI是一个命令行工具,如果您想使用Spring快速开发,可以使用它。它允许您运行Groovy脚本,这意味着您有一个熟悉的类似Java的语法,而没有那么多样板代码。您还可以引导一个新项目或编写自己的命令。
spring-boot-dependencies定义了一些SpringBoot的maven相关的一些依赖及其版本。
spring-boot-devtools热部署有关,即修改代码后无需重启应用即生效。
spring-boot-docs文档
spring-boot-parent供开发业务模块定义Parent 模块为该模块,可实现依赖版本自动控制
spring-boot-properties-migrator在 Spring Boot 2.x 中,许多配置属性被重新命名/删除,开发人员需要更新 application.properties/ application.yml 相应的配置。为了帮助你解决这一问题,Spring Boot 发布了一个新 spring-boot-properties-migrator 模块。一旦作为该模块作为依赖被添加到你的项目中,它不仅会分析应用程序的环境,而且还会在启动时打印诊断信息,而且还会在运行时为您暂时迁移属性。在您的应用程序迁移期间,这个模块是必备的,完成迁移后,请确保从项目的依赖关系中删除此模块
spring-boot-starters集成其他框架的启动包
spring-boot-test测试功能模块
spring-boot-test-autoconfigure测试功能自动配置模块
spring-boot-tools工具汇总模块,包含了打包插件(可自定义包结构、加载器)、Maven 插件、配置元数据、Gradle 插件等

spring-boot-starters模块下又包含了很多个 spring-boot-starters-第三方框架或应用的模块,使用过Spring Boot 的应该很熟悉这是干嘛的,稍微数了一下,大概有50多个。

各个模块功能简介如下:

模块功能描述
spring-boot-starter核心Starter,包括自动配置、日志及YAML支持等
spring-boot-starter-activemqActiveMQ 自动配置,通过 JMS 发送和接收消息
spring-boot-starter-actuator应用监控、健康监测
spring-boot-starter-amqpRabbitMQ 的自动配置
spring-boot-starter-aopAOP支持,包括spring-aop和AspectJ
spring-boot-starter-artemis通过Apache Artemis支持JMS的API(Java Message Service API)
spring-boot-starter-batch支持Spring Batch,包括HSQLDB数据库
spring-boot-starter-cache支持Spring的Cache抽象
spring-boot-starter-data-cassandraCassandra分布式数据库自动配置
spring-boot-starter-data-cassandra-reactive集成 Cassandra(分布式数据库) 和 Spring Data Cassandra Reactive
spring-boot-starter-data-couchbase集成 Couchbase(文档型数据库) 和 Spring Data Couchbase
spring-boot-starter-data-couchbase-reactive集成 Couchbase(文档型数据库) 和 Spring Data Couchbase Reactive
spring-boot-starter-data-elasticsearch集成 Elasticsearch(搜索引擎)和 Spring Data Elasticsearch
spring-boot-starter-data-jdbc集成 Spring Data JDBC
spring-boot-starter-data-jpa集成 Spring Data JPA 结合 Hibernate
spring-boot-starter-data-ldap集成 Spring Data LDAP
spring-boot-starter-data-mongodb集成 MongoDB(文档型数据库)和 Spring Data MongoDB
spring-boot-starter-data-mongodb-reactive集成 MongoDB(文档型数据库)和 Spring Data MongoDB Reactive
spring-boot-starter-data-neo4j集成 Neo4j(图形数据库)和 Spring Data Neo4j
spring-boot-starter-data-r2dbc集成 Spring Data R2DBC
spring-boot-starter-data-redis集成 Redis(内存数据库)结合 Spring Data Redis 和 Lettuce 客户端
spring-boot-starter-data-redis-reactive集成 Redis(内存数据库)结合 Spring Data Redis reactive 和 Lettuce 客户端
spring-boot-starter-data-rest集成 Spring Data REST 暴露 Spring Data repositories 输出 REST 资源
spring-boot-starter-freemarker集成 FreeMarker 视图构建 MVC web 应用
spring-boot-starter-groovy-templates集成 Groovy 模板视图构建 MVC web 应用
spring-boot-starter-hateoas集成 Spring MVC 和 Spring HATEOAS 构建超媒体 RESTful Web 应用程序
spring-boot-starter-integration集成 Spring Integration
spring-boot-starter-jdbc集成 Spring Data JDBC
spring-boot-starter-jersey集成 JAX-RS 和 Jersey 构建 RESTful web 应用,是 spring-boot-starter-web 的一个替代 Starter
spring-boot-starter-jetty集成 Jetty 作为内嵌的 servlet 容器,可用于替代 spring-boot-starter-tomcat
spring-boot-starter-jooq集成 jOOQ 访问 SQL 数据库,是 spring-boot-starter-data-jpa 或者 spring-boot-starter-jdbc 的替代 Starter
spring-boot-starter-json用于读写 JSON,支持三种Json库:Jackson、Gson、JSON-B,Jackson是SpringBoot官方推荐的默认库。
spring-boot-starter-jta-atomikos集成 Atomikos 实现 JTA 事务
spring-boot-starter-log4j2>集成 Log4j2 日志框架,可用于替代 spring-boot-starter-logging
spring-boot-starter-logging集成 Logback 日志框架,这个也是默认的日志框架
spring-boot-starter-mail集成 Java Mail 和 Spring 框架的邮件发送功能
spring-boot-starter-mustache集成 Mustache 视图构建 web 应用
spring-boot-starter-oauth2-client集成 Spring Security’s OAuth2/OpenID客户端功能
spring-boot-starter-oauth2-resource-server集成 Spring Security’s OAuth2 资源服务器
spring-boot-starter-parent父级依赖,使用Spring Boot 开发时可使用此模块控制版本
spring-boot-starter-quartz集成 Quartz 任务调度
spring-boot-starter-reactor-netty集成 Netty 作为内嵌的响应式 HTTP 服务器
spring-boot-starter-rsocket构建 RSocket 客户端和服务端
spring-boot-starter-securitySpring Security 权限框架自动配置
spring-boot-starter-test集成 JUnit Jupiter, Hamcrest 和 Mockito 测试 Spring Boot 应用和类库
spring-boot-starter-thymeleaf使用Thymeleaf视图构建MVC Web应用程序
spring-boot-starter-tomcat集成 Tomcat 作为内嵌的 servlet 容器
spring-boot-starter-undertow集成 Undertow 作为内嵌的 servlet 容器
spring-boot-starter-validation集成 Java Bean Validation 、Hibernate Validator,用于数据校验
spring-boot-starter-web使用Spring MVC构建Web(包括RESTful)应用程序,使用Tomcat作为默认嵌入式容器
spring-boot-starter-web-services集成 Spring Web Services
spring-boot-starter-webflux使用Spring Framework的Reactive Web支持构建WebFlux应用程序自动配置
spring-boot-starter-websocket使用Spring Framework的WebSocket支持构建WebSocket应用程序自动配置

我们看下spring-boot-starter-data-redis模块,没有任何JAVA 代码,只是引入了Redis 客户端、Spring Redis 操作框架、Spring Boot Starter核心模块,这样做的好处就是开箱即用,业务需要时,无需关心需要引入哪些包、哪个版本,你只需要引入该包即可。
在这里插入图片描述

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-06-14 22:21:08  更:2022-06-14 22:21:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 18:47:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码