百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

超详细的Spring Boot教程,凭借这份文档搞定面试官

yuyutoo 2024-10-12 01:38 10 浏览 0 评论

前言

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

一、 Spring Boot文档

1、关于文档

2、获得帮助

3、第一步

4、使用Spring Boot

5、了解Spring Boot特性

6、转向生产

7、高级主题

二、入门

1、介绍Spring Boot

2、系统要求

2.1、Servlet容器

3、安装Spring Boot

3.1、Java开发人员的安装说明

(1)Maven安装

(2)Gradle安装

3.2、安装Spring Boot CLI

(1)手动安装

(2)使用SDKMAN进行安装!

(3)OSX Homebrew安装

(4)MacPorts安装

(5)命令行完成

(6)快速启动Spring CLI示例

3.2、从较早版本的Spring Boot升级

4、开发你的第一个Spring Boot应用程序

4.1、创建POM

4.2、添加类路径依赖关系

4.3、编写代码

(1)@RestController和@RequestMapping注解

(2)@EnableAutoConfiguration注释

(3)“主要”方法

4.4、运行示例

4.5、创建一个可执行的Jar

5、下一步阅读什么

三、使用Spring Boot

1、建立系统

1.1、依赖管理

1.2、Maven的

(1)继承初始父项

(2)使用没有父POM的Spring Boot

(3)使用Spring Boot Maven插件

1.3、摇篮

1.4、蚂蚁

1.5、首发

2、构建你的代码

2.1、使用“默认”包

2.2、查找主要应用程序类

3、配置类

3.1、导入其他配置类

3.2、导入XML配置

4、自动配置

4.1、逐渐替换自动配置

4.2、禁用特定的自动配置类

5、春豆和依赖注入

6、使用@SpringBootApplication注释

7、运行你的应用程序

7.1、从IDE运行

7.2、作为打包应用程序运行

7.3、使用Maven插件

7.4、使用Gradle插件

7.5、热交换

8、开发人员工具

8.1、属性默认值

8.2、自动重启

(1)记录条件评估中的更改

(2)排除资源

(3)看额外的路径

(4)禁用重新启动

(5)使用触发文件

(6)自定义重启类加载器

(7)已知限制

8.3、LiveReload

8.4、全局设置

8.5、远程应用

(1)运行远程客户端应用程序

(2)远程更新

9、包装您的生产申请

10、下一步阅读什么

四、Spring Boot功能

1、SpringApplication

1.1、启动失败

1.2、自定义横幅

1.3、自定义SpringApplication

1.4、Fluent Builder API

1.5、应用程序事件和监听器

1.6、Web环境

1.7、访问应用程序参数

1.8、使用ApplicationRunner或CommandLineRunner

1.9、申请退出

1.10、管理功能

2、外部化配置

2.1、配置随机值

2.2、访问命令行属性

2.3、应用程序属性文件

2.4、配置文件特定的属性

2.5、属性中的占位符

2.6、使用YAML而不是属性

(1)正在加载YAML

(2)在Spring环境中将YAML作为属性公开

(3)多配置文件YAML文件

(4)YAML的缺点

(5)合并YAML列表

2.7、类型安全的配置属性

(1)第三方配置

(2)轻松的绑定

(3)属性转换

(4)@ConfigurationProperties验证

(5)@ConfigurationProperties与@Value

3、简介

3.1、添加活动配置文件

3.2、编程设置配置文件

3.3、配置文件特定的配置文件

4、记录

4.1、日志格式

4.2、控制台输出

(1)彩色编码输出

4.3、文件输出

4.4、日志级别

4.5、自定义日志配置

4.6、Logback扩展

(1)配置文件特定的配置

(2)环境属性

5、开发Web应用程序

5.1、“Spring Web MVC框架”

(1)Spring MVC自动配置

(2)HttpMessageConverters

(3)自定义JSON序列化器和反序列化器

(4)MessageCodesResolver的信息

(5)静态内容

(6)欢迎页面

(7)自定义Favicon

(8)路径匹配和内容协商

(9)ConfigurableWebBindingInitializer

5.2、“Spring WebFlux框架”

(1)Spring WebFlux自动配置

(2)使用HttpMessageReaders和HttpMessageWriters的HTTP编解码器

(3)静态内容

(4)模板引擎

(5)错误处理

(6)网页过滤器

5.3、JAX-RS和泽西岛

5.4、嵌入式Servlet容器支持

(1)Servlet,过滤器和监听器

将Spring Servlet,过滤器和监听器注册为Spring Bean

(2)Servlet上下文初始化

扫描Servlet,筛选器和侦听器

(3)ServletWebServerApplicationContext

(4)定制嵌入式Servlet容器

程序化定制

直接自定义ConfigurableServletWebServerFactory

(5)JSP限制

6、安全

6.1、MVC安全

6.2、WebFlux安全

6.3、的OAuth2

(1)客户

6.4、执行器安全

(1)跨站请求伪造保护

7、使用SQL数据库

7.1、配置一个数据源

(1)嵌入数据库支持

(2)连接到生产数据库

(3)连接到JNDI数据源

7.2、使用JdbcTemplate

7.3、JPA和“Spring Data”

(1)实体类

(2)Spring Data JPA存储库

(3)创建和删除JPA数据库

(4)在View中打开EntityManager

7.4、使用H2的Web控制台

(1)更改H2 Console的路径

7.5、使用jOOQ

(1)代码生成

(2)使用DSLContext

(3)jOOQ SQL方言

(4)定制jOOQ

8、与NoSQL Technologies合作

8.1、Redis的

(1)连接到Redis

8.2、MongoDB的

(1)连接到MongoDB数据库

(2)MongoTemplate

(3)Spring Data MongoDB存储库

(4)嵌入式Mongo

8.3、Neo4j的

(1)连接到Neo4j数据库

(2)使用嵌入式模式

(3)Neo4jSession

(4)Spring Data Neo4j存储库

(5)存储库示例

8.4、的GemFire

8.5、Solr的

(1)连接到Solr

(2)Spring Data Solr存储库

8.6Elasticsearch

(1)使用Jest连接到Elasticsearch

(2)通过使用Spring数据连接到Elasticsearch

(3)Spring Data Elasticsearch存储库

8.7、卡桑德拉

(1)连接到Cassandra

(2)Spring Data Cassandra存储库

8.8、Couchbase

(1)连接到Couchbase

(2)Spring Data Couchbase存储库

8.9、LDAP

(1)连接到LDAP服务器

(2)Spring数据LDAP存储库

(3)嵌入式内存LDAP服务器

8.10、InfluxDB

(1)连接到InfluxDB

9、缓存

9.1、支持的缓存提供程序

(1)通用

(2)JCache(JSR-107)

(3)EhCache 2.x

(4)Hazelcast

(5)Infinispan的

(6)Couchbase

(7)Redis的

(8)咖啡因

(9)简单

9.2、JMS

(1)ActiveMQ支持

(2)Artemis支持

(3)使用JNDI ConnectionFactory

(4)发送消息

(5)接收消息

9.3、AMQP

(1)RabbitMQ支持

(2)发送消息

(3)接收消息

9.4、Apache Kafka支持

(1)发送消息

(2)接收消息

(3)额外的卡夫卡属性

10、用REST调用REST服务 RestTemplate

10.1、RestTemplate自定义

11、用REST调用REST服务 WebClient

11.1、WebClient自定义

12、验证

13、发送电子邮件

14、与JTA的分布式事务

14.1、使用Atomikos事务管理器

14.2、使用Bitronix事务管理器

14.3、使用Narayana事务管理器

14.4、使用Java EE托管事务管理器

14.5、混合XA和非XA JMS连接

14.6、支持替代嵌入式事务管理器

15、Hazelcast

16、石英调度器

17、春季融合

18、春季会议

19、通过JMX进行监视和管理

20、测试

20.1、测试范围依赖关系

20.2、测试Spring应用程序

20.3、测试Spring Boot应用程序

(1)检测Web应用程序类型

(2)检测测试配置

(3)不包括测试配置

(4)使用运行的服务器进行测试

(5)嘲笑和侦察豆

(6)自动配置的测试

(7)自动配置的JSON测试

(8)自动配置的Spring MVC测试

(9)自动配置的Spring WebFlux测试

(10)自动配置的数据JPA测试

(11)自动配置的JDBC测试

(12)自动配置的jOOQ测试

(13)自动配置的数据MongoDB测试

(14)自动配置的数据Neo4j测试

(15)自动配置的数据Redis测试

(16)自动配置的数据LDAP测试

(17)自动配置的REST客户端

(18)自动配置的Spring REST Docs测试

自动配置的Spring REST Docs使用Mock MVC进行测试

自动配置的Spring REST Docs使用REST Assured进行测试

(19)用户配置和切片

(20)使用Spock测试Spring Boot应用程序

20.4、测试实用程序

(1)ConfigFileApplicationContextInitializer

(2)EnvironmentTestUtils

(3)OutputCapture

(4)TestRestTemplate

21、 WebSockets

22、网络服务

23、创建您自己的自动配置

23.1、了解自动配置的Bean

23.2、查找自动配置候选人

23.3、条件注释

(1)班级条件

(2)豆条件

(3)财产状况

(4)资源条件

(5)Web应用程序条件

(6)SpEL表达条件

23.4、测试你的自动配置

(1)模拟Web上下文

(2)覆盖类路径

23.5、创建你自己的启动器

(1)命名

(2) autoconfigure 模

(3)入门模块

24.Kotlin的支持

24.1、要求

24.2、空安全

24.3、Kotlin API

(1)runApplication

(2)扩展

24.4、依赖管理

24.5、 @ConfigurationProperties

24.6、测试

24.7、资源

(1)进一步阅读

(2)例子

25、下一步阅读什么


五、Spring Boot执行器:生产就绪功能

1、启用生产就绪功能

2、终点

2.1、启用端点

2.2、暴露端点

2.3、保护HTTP端点

2.4、配置端点

2.5、执行器Web终端的超媒体

2.6、执行器Web端点路径

2.7、CORS支持

2.8、实现自定义端点

(1)接收输入

输入类型转换

(2)自定义Web端点

  • Web端点请求谓词
  • 路径
  • HTTP方法
  • 消费
  • 产生
  • Web端点响应状态
  • Web端点范围请求
  • Web端点安全

(3)Servlet端点

(4)控制器端点

2.9、健康信息

(1)自动配置的HealthIndicators

(2)编写自定义HealthIndicators

(3)反应性健康指标

(4)自动配置的ReactiveHealthIndicators

2.10、应用信息

(1)自动配置InfoContributors

(2)自定义应用信息

(3)Git提交信息

(4)构建信息

(5)编写自定义InfoContributors

3、通过HTTP进行监控和管理

3.1、自定义管理端点路径

3.2、自定义管理服务器端口

3.3、配置管理特定的SSL

3.4、自定义管理服务器地址

3.5、禁用HTTP端点

4、通过JMX进行监控和管理

4.1、定制MBean名称

4.2、禁用JMX终结点

4.3、通过HTTP使用Jolokia进行JMX

(1)定制Jolokia

(3)禁用Jolokia

伐木者

4.3配置记录器

5、度量

5.1、入门

5.2、支持的监测系统

(1)舆图

(2)Datadog

(3)神经节

(4)石墨

(5)辐辏

(6)JMX

(7)新的遗物

(8)普罗米修斯

(9)SignalFx

(10)简单

(11)StatsD

(12)波前

5.3、支持的度量标准

(1)Spring MVC度量标准

(2)Spring WebFlux指标

(3)RestTemplate指标

(4)高速缓存指标

(5)数据源指标

(6)RabbitMQ指标

5.4、注册自定义指标

5.5、自定义各个指标

(1)每米性能

5.6、指标终点

6、审计

7、HTTP跟踪

7.1、自定义HTTP跟踪

8、过程监测

8.1、扩展配置

8.2、编程

9、 Cloud Foundry支持

9.1、禁用扩展Cloud Foundry执行器支持

9.2、Cloud Foundry自签名证书

9.3、自定义上下文路径

10、接下来要读什么

六、部署Spring Boot应用程序

1、部署到云

1.1、Cloud Foundry

(1)绑定到服务

1.2、Heroku的

1.3、OpenShift

1.4、亚马逊网络服务(AWS)

(1)AWS Elastic Beanstalk

  • 使用Tomcat平台
  • 使用Java SE平台

(2)概要

1.5、Boxfuse和亚马逊网络服务

1.6、Google Cloud

2、安装Spring Boot应用程序

2.1、支持的操作系统

2.2、Unix / Linux服务

(1)安装即 init.d 服务(System V)

确保 init.d 服务

(2)安装即 systemd 服务

(3)自定义启动脚本

  • 在写入时自定义启动脚本
  • 在运行时自定义脚本

2.3、Microsoft Windows服务

3、接下来要读什么

七、Spring Boot CLI

1、安装CLI

2、使用CLI

2.1、使用CLI运行应用程序

(1)推导出“抢”依赖

(2)推导出“抢”坐标

(3)默认导入语句

(4)自动主要方法

(5)定制依赖管理

2.2、有多个源文件的应用程序

2.3、打包你的应用程序

2.4、初始化新项目

2.5、使用嵌入式外壳

2.6、向CLI添加扩展

3、使用Groovy Beans DSL开发应用程序

4、使用CLI配置CLI settings.xml

5、接下来要读什么

八、构建工具插件

1、Spring Boot Maven插件

1.1、包括插件

1.2、打包可执行的jar和war文件

2、 Spring Boot Gradle插件

3、Spring Boot AntLib模块

3.1、Spring Boot Ant任务

(1) spring-boot:exejar

(2)例子

3.2、spring-boot:findmainclass

(1)例子

4、支持其他构建系统

4.1、重新包装档案

4.2、嵌套库

4.3、找到一个主要类

4.4、示例重新打包实施

5、接下来要读什么

九、'指导'指南

1、Spring Boot应用程序

1.1、创建你自己的FailureAnalyzer

1.2、解决自动配置问题

1.3、在开始之前自定义环境或ApplicationContext

1.4、构建ApplicationContext层次结构(添加父级或根级上下文)

1.5、创建一个非Web应用程序

2、属性和配置

2.1、在构建时自动扩展属性

(1)使用Maven自动扩展属性

(2)使用Gradle的自动属性扩展

2.2、外部化配置 SpringApplication

2.3、更改应用程序的外部属性的位置

2.4、使用'短'命令行参数

2.5、使用YAML作为外部属性

2.6、设置活动的弹簧配置文件

2.7、根据环境更改配置

2.8、发现外部属性的内置选项

3、嵌入式Web服务器

3.1、使用另一个Web服务器

3.2、配置码头

3.3、将Servlet,Filter或Listener添加到应用程序

(1)使用Spring Bean添加Servlet,Filter或Listener

禁用Servlet或Filter的注册

(2)通过使用类路径扫描添加Servlet,筛选器和监听器

3.4、更改HTTP端口

3.5、使用随机未分配的HTTP端口

3.6、在运行时发现HTTP端口

3.6、配置SSL

3.8、配置HTTP / 2

(1)HTTP / 2与Undertow

(2)HTTP / 2与Jetty

(3)HTTP / 2与Tomcat

3.9、配置访问日志记录

3.10、运行在前端代理服务器后面

(1)自定义Tomcat的代理配置

3.11、配置Tomcat

3.12、使用Tomcat启用多个连接器

3.13、使用Tomcat的LegacyCookieProcessor

3.14、配置Undertow

3.15、使用Undertow启用多个监听器

3.16、使用@ServerEndpoint创建WebSocket端点

3.17、启用HTTP响应压缩

4、 Spring MVC

4.1、编写一个JSON REST服务

4.2、编写一个XML REST服务

4.3、自定义Jackson ObjectMapper

4.4、自定义@ResponseBody呈现

4.5、处理多部分文件上传

4.6、关闭Spring MVC DispatcherServlet

4.7、关闭默认的MVC配置

4.8、自定义ViewResolvers

5、HTTP客户端

5.1、配置RestTemplate以使用代理

记录

5.2、配置Logback进行日志记录

(1)为纯文件输出配置Logback

5.3、配置Log4j进行日志记录

(1)使用YAML或JSON配置Log4j 2

6、数据访问

6.1、配置一个自定义数据源

6.2、配置两个数据源

6.3、使用Spring数据存储库

6.4、Spring配置分离@实体定义

6.5、配置JPA属性

6.7、使用自定义EntityManagerFactory

6.10、使用Spring Data JPA和Mongo仓库

6.12、配置由JPA使用的组件

6.13、用两个数据源配置jOOQ

7、数据库初始化

7.1、使用JPA初始化数据库

7.2、使用Hibernate初始化数据库

7.3、初始化数据库

7.4、初始化一个Spring批处理数据库

7.5、使用更高级别的数据库迁移工具

(1)启动时执行Flyway数据库迁移

(2)在启动时执行Liquibase数据库迁移

信息

7.6、禁用事务处理JMS会话

8、批量应用程序

8.1、在启动时执行Spring批处理作业

9、执行器

9.1、更改执行器端点的HTTP端口或地址

9.2、自定义'whitelabel'错误页面

10、安全

10.1、关闭Spring Boot安全配置

10.2、更改UserDetailsS ervice和添加用户帐户

10.3、在代理服务器后运行时启用HTTPS

11、热插拔

11.1、重新加载静态内容

11.2、重新加载模板而不重新启动容器

(1)Thymeleaf模板

(2)FreeMarker模板

(3)Groovy模板

11.3、快速应用程序重启

11.4、重新加载Java类而不重新启动容器

12、建设

12.1、生成构建信息

12.2、生成Git信息

12.3、自定义依赖版本

12.4、用Maven创建一个可执行的JAR

12.5、使用Spring Boot应用程序作为依赖项

12.6、当可执行jar运行时提取特定的库

12.7、用排除项创建一个不可执行的JAR

12.8、远程调试Maven启动的Spring Boot应用程序

12.9、在不使用的情况下从Ant构建可执行文件 spring-boot-antlib

13、传统部署

13.1、创建一个可部署的战争文件

13.2、为较老的Servlet容器创建一个可部署的战争文件

13.3、将现有的应用程序转换为Spring Boot

13.4、将WAR部署到WebLogic

13.5、在旧的(Servlet 2.5)容器中部署WAR

13.6使用Jedis代替生菜

十、附录

1、通用应用程序属性

2、配置元数据

2.1、元数据格式

(1)组属性

(2)属性属性

(3)提示属性

(4)重复的元数据项目

2.2、提供手册提示

(1)价值提示

(2)价值提供者

  • 任何
  • 类参考
  • 处理为
  • 记录器名称
  • Spring Bean参考
  • Spring配置文件名称

2.3、使用注释处理器生成您自己的元数据

(1)嵌套属性

(2)添加额外的元数据

3、自动配置类

3.1、从“spring-boot-autoconfigure”模块

3.2、从“spring-boot-actuator-autoconfigure”模块

4、测试自动配置注释

5、可执行的Jar格式

5.1、嵌套JAR

(1)可执行jar文件结构

(2)可执行的战争文件结构

5.2、Spring Boot的“JarFile”类

(1)与标准Java“JarFile”兼容

5.3、启动可执行的罐子

(1)启动器清单

(2)爆炸档案

5.4、 PropertiesLauncher 特征

5.5、可执行的jar限制

5.6、替代性单罐解决方案

6、依赖版本


这份Spring Boot教程有257页pdf文档
关注我私信回复 66 获取这份资料

最后

欢迎大家一起交流,喜欢文章记得关注我点赞转发哟,感谢支持!

相关推荐

电脑 CMD 命令大全:简单粗暴收藏版

电脑CMD命令大全包括了许多常用的命令,这些命令可以帮助用户进行各种系统管理和操作任务。以下是一些常用的CMD命令及其功能:1、系统信息和管理...

电脑维修高手必备!8个神奇DOS命令,自己动手不求人

我相信搞电脑维修或者维护的基本都会些DOS的命令。就算Windows操作系统是可视化的界面,但很多维护检查是离不开DOS命令的。掌握好这些命令,你不仅能快速诊断问题,还能解决90%的常见电脑故障。下...

一个互联网产品总监的设计技巧总结 - 技术篇

古语:工欲善其事必先利其器。往往在利其器后我们才能事半功倍。从这个角度出发成为一个合格的产品经理你需要的是“利其器”,这样你才能产品的设计过程中如鱼得水,得心应手。有些产品经理刚入职,什么都感觉自己欠...

超详解析Flutter渲染引擎|业务想创新,不了解底层原理怎么行?

作者|万红波(远湖)出品|阿里巴巴新零售淘系技术部前言Flutter作为一个跨平台的应用框架,诞生之后,就被高度关注。它通过自绘UI,解决了之前RN和weex方案难以解决的多端一致性...

瑞芯微RK3568|SDK开发之环境安装及编译操作

1.SDK简介一个通用LinuxSDK工程目录包含有buildroot、app、kernel、device、docs、external等目录。其中一些特性芯片如RK3308/RV1108/R...

且看L-MEM ECC如何守护i.MXRT1170从核CM4

大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是恩智浦i.MXRT1170上Cortex-M4内核的L-MEMECC功能。本篇是《简析i.MXRT1170Cortex-M7F...

ECC给i.MXRT1170 FlexRAM带来了哪些变化?

大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是恩智浦i.MXRT1170上Cortex-M7内核的FlexRAMECC功能。ECC是“ErrorCorrectingCode”...

PHP防火墙代码,防火墙,网站防火墙,WAF防火墙,PHP防火墙大全

PHP防火墙代码,防火墙,网站防火墙,WAF防火墙,PHP防火墙大全资源宝整理分享:https://www.htple.net...

从零开始移植最新版本(2023.10)主线Uboot到Orange Pi 3(全志H6)

本文将从零开始通过一步一步操作来实现将主线U-Boot最新代码移植到OrangePi3(全志H6)开发板上并正常运行起来。本文从通用移植思路的角度,展现是思考的过程,通过这种方式希望能让读者一通百...

可视化编程工具Blockly——定制工具箱

1概述本文重点讲解如何定制Blocklytoolbox上,主要包含如下几点目标:如何为toolbox不同类别添加背景色如何改变选中的类别的外观如何为toolbox类别添加定制化的css如何改变类别...

用户界面干货盘点(用户界面的基本操作方法)

DevExpressDevExpressWPF的DXSplashScreen控件在应用加载的时候显示一个启动界面。添加DXSplashScreen后,会默认生成一个XAML文件,当然,你也可...

Vue3+Bootstrap5整合:企业级后台管理系统实战

简洁而不简单,优雅而不失强大在当今快速发展的企业数字化进程中,高效、美观的后台管理系统已成为企业运营的核心支撑。作为前端开发者,我们如何选择技术栈,才能既保证开发效率,又能打造出专业级的用户体验?答案...

什么?这三款i.MXRT型号也开放了IAP API?

大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是i.MXRT1050/1020/1015系列ROM中的FlexSPI驱动API使用。今天痞子衡去4S店给爱车做保养了,...

OneCode基础组件介绍——表格组件(Grid)

在企业级应用开发中,表格组件是数据展示与交互的核心载体。OneCode平台自研的Grid表格组件,以模型驱动设计...

开源无线LoRa传感器(光照温湿度甲醛Tvoc)

本开源项目基于ShineBlinkC2M低代码单片机实现,无需复杂单片机C语言开发。即使新手也可很容易用FlexLua零门槛开发各种功能丰富稳定可靠的IoT硬件,更多学习教程可参考Flex...

取消回复欢迎 发表评论: