超详细的Spring Boot教程,搞定面试官!

前言

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 即可领取这份文档。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值