前言

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文档~

关注公众号:程序员追风,回复 001 即可领取这份文档。

希望能帮助到大家面试前的复习,也节省大家在网上搜索资料的时间来学习。

超详细的Spring Boot教程,搞定面试官!相关推荐

  1. 【数据的存储】浮点数在内存中的存储详解【超详细的保姆级别教程,让面试官心服口服】手撕浮点数存储使用方式

    [数据的存储]浮点数在内存中的存储详解[超详细的保姆级别教程,让面试官对你心服口服]手撕浮点数存储使用方式 作者: @小小Programmer 这是我的主页:@小小Programmer 在食用这篇博客 ...

  2. 如何在一分钟内搞定面试官

    转载自   如何在一分钟内搞定面试官 很多人的求职面试的过程中都会遇到这个问题:  "请做个自我介绍." 有的人,可以口若悬河.妙语连珠讲3分钟,有的人,可能磕磕巴巴,讲了30秒, ...

  3. spring boot入门(九) springboot的过滤器filter。最完整、简单易懂、详细的spring boot教程。

    关于过滤器和拦截器的区别,已经spring boot入门(七)中说明.下面举个过滤器的应用场景,比如用户信息页只有再用户登录后才可以进入,没有登录的用户是无法进入的,此时便可以采用过滤器来讲没有登录的 ...

  4. 如何在一分钟内搞定面试官?

    很多人的求职面试的过程中都会遇到这个问题:  "请做个自我介绍." 有的人,可以口若悬河.妙语连珠讲3分钟,有的人,可能磕磕巴巴,讲了30秒,前者一定能胜过后者,然则未必,今天就来 ...

  5. 「秘籍」JAVA求职面试宝典,轻松搞定面试官!拿下大厂offer

    小编收集了些面试相关应对技巧分享给大家 面试好比就像是场约会,你是不是常常担心自己没有表现好,又担心对方是个"渣男" 有时候吧, 你看上了对方,对方看不上你,还有的时候,你们互相看 ...

  6. java hashmap用法_备战金九银十:Java核心技术面试题100+,助你搞定面试官

    一线互联网公司工作了几年,我作为求职者参加了不少面试,也作为面试官面试了很多同学,整理这份面试指南,一方面是帮助大家更好的准备面试,有的放矢,另一方面也是对自己知识框架做一个体系化的梳理. 这篇文章梳 ...

  7. 【Java面试】大厂裁员,小厂倒闭,如何搞定面试官Java SPI是什么?有什么用?

    "Java SPI是什么?有什么用?" 这是阿里p6面试过程中,第二面的时候遇到的一个真实的问题. 如果你不理解SPI,建议你看完整篇文章. 大家好,我是Mic,一个工作了14年的 ...

  8. 求职简历这样写,轻松搞定面试官

    如果你是从网上投的简历,那么必然会经过 HR 的筛选,一张简历 HR 可能也就花 10 秒钟看一下,就会决定你这一关是成功还是失败. 就算你通过了筛选,后面的面试中,面试官也会根据你的简历来判断你究竟 ...

  9. 搞定面试官:咱们从头到尾再说一次 Java 垃圾回收

    接着前几天的两篇文章,继续解析JVM面试问题,送给年后想要跳槽的小伙伴 万万没想到,面试中,连 ClassLoader类加载器 也能问出这么多问题..... 万万没想到,JVM内存区域的面试题也可以问 ...

最新文章

  1. 美国的电子垃圾都去了哪?
  2. 修改elementUI组件样式无效的问题研究
  3. 编程学习笔记(第一篇)面向对象技术高级课程:绪论-软件开发方法的演化与最新趋势(1)...
  4. java技术论坛的毕业设计_基于java的bbs论坛设计,软件毕业设计
  5. Linux/Android之sar查看IO/CPU占用率
  6. 两种消息模型: 点对点(queue)发布/订阅(topic)
  7. node.js 模板引擎
  8. Debian stretch failed to load firmware rtl_nic/rtl8168g-3.fw (-2)
  9. android rs232串口协议,RS232串口协议详解
  10. matlab 保存图片大小尺寸_改变figure大小存储图片(matlab)
  11. 学习Java时,要记住的知识点太多,记不住怎么办?
  12. iOS设备唯一标识符探讨
  13. NewCoder:买苹果
  14. 十张图带你看中国交通变迁
  15. (有趣)把文字隐藏到图片中
  16. 子载波间隔与符号长度
  17. Gabor滤波器为什么能实现频率域加窗
  18. 【倩女幽魂妖魔道】聊斋妖魔道之倩女幽魂单机版一键端源码分享
  19. 基于QT平台调试rtklib教程
  20. CGT Asia 2023第三届亚洲细胞与基因治疗创新峰会将于4月上海召开

热门文章

  1. python 散点密度图,分组散点密度图的三种实现方法
  2. 考生合格证书打印的部分代码和生成证书方法
  3. layer扩展打开/关闭动画
  4. 禅道类似软件_六大Jira项目管理软件替代品
  5. scrapy_redis实现分布式爬取京东图书数据
  6. 不知道有哪些可以语音转文字的软件?推荐你用这个
  7. 一、为什么要做接口自动化,怎样做
  8. 解耦控制matlab,解耦控制所谓解耦控制系统.ppt
  9. 基于PHP的艺术品展示系统
  10. wps怎么恢复成单页_我告诉你文档两页怎么变成单页