I. Spring Boot文档

1.关于文档

2.获得帮助

3.第一步

4.使用Spring Boot

5.了解Spring Boot功能

6.转向生产

7.高级主题

II。入门

8.介绍Spring Boot

9.系统要求

9.1。Servlet容器

10.安装Spring Boot

10.1。Java开发人员的安装说明

10.1.1。Maven安装

10.1.2。Gradle安装

10.2。安装Spring Boot CLI

10.2.1。手动安装

10.2.2。使用SDKMAN安装!

10.2.3。OSX Homebrew安装

10.2.4。MacPorts安装

10.2.5。命令行完成

10.2.6。快速启动Spring CLI示例

10.3。从早期版本的Spring Boot升级

11.开发第一个Spring Boot应用程序

11.1。创建POM

11.2。添加类路径依赖项

11.3。编写代码

11.3.1。@RestController和@RequestMapping注释

11.3.2。@EnableAutoConfiguration注释

11.3.3。“main”方法

11.4。运行示例

11.5。创建一个可执行jar

12.接下来要读什么

III。使用Spring Boot

13.构建系统

13.1。依赖管理

13.2。Maven的

13.2.1。继承启动父级

13.2.2。在没有父POM的情况下使用Spring Boot

13.2.3。使用Spring Boot Maven插件

13.3。摇篮

13.4。蚂蚁

13.5。首发

14.构建代码

14.1。使用“默认”包

14.2。找到主应用程序类

15.配置类

15.1。导入其他配置类

15.2。导入XML配置

16.自动配置

16.1。逐渐取代自动配置

16.2。禁用特定的自动配置

17. Spring Beans和依赖注入

18.使用@SpringBootApplication批注

19.运行您的应用程序

19.1。从IDE运行

19.2。作为打包应用程序运行

19.3。使用Maven插件

19.4。使用Gradle插件

19.5。热交换

20.开发人员工具

20.1。属性默认值

20.2。自动重启

20.2.1。不包括资源

20.2.2。看着额外的路径

20.2.3。禁用重启

20.2.4。使用触发器文件

20.2.5。自定义重启类加载器

20.2.6。已知限制

20.3。LiveReload

20.4。全局设置

20.5。远程应用

20.5.1。运行远程客户端应用程序

20.5.2。远程更新

21.打包您的应用程序进行生产

22.接下来要读什么

IV。Spring Boot功能

23. SpringApplication

23.1。启动失败

23.2。自定义横幅

23.3。自定义SpringApplication

23.4。流畅的构建器API

23.5。应用程序事件和侦听器

23.6。网络环境

23.7。访问应用程序参数

23.8。使用ApplicationRunner或CommandLineRunner

23.9。申请退出

23.10。管理功能

24.外部配置

24.1。配置随机值

24.2。访问命令行属性

24.3。应用属性文件

24.4。特定于配置文件的属性

24.5。占位符属性

24.6。使用YAML代替Properties

24.6.1。加载YAML

24.6.2。在Spring环境中公开YAML作为属性

24.6.3。多个YAML文档

24.6.4。YAML的缺点

24.6.5。合并YAML列表

24.7。类型安全的配置属性

24.7.1。第三方配置

24.7.2。轻松绑定

24.7.3。属性转换

24.7.4。@ConfigurationProperties验证

24.7.5。@ConfigurationProperties vs. @Value

25.简介

25.1。添加活动配置文件

25.2。以编程方式设置配置文

25.3。特定于配置文件的配置文件

26.记录

26.1。日志格式

26.2。控制台输出

26.2.1。彩色编码输出

26.3。文件输出

26.4。日志级别

26.5。自定义日志配置

26.6。Logback扩展

26.6.1。特定于配置文件的配置

26.6.2。环境属性

27.开发Web应用程序

27.1。'Spring Web MVC框架'

27.1.1。Spring MVC自动配置

27.1.2。HttpMessageConverters

27.1.3。自定义JSON序列化程序和反序列化程序

27.1.4。MessageCodesResolver的信息

27.1.5。静态内容

27.1.6。自定义Favicon

27.1.7。ConfigurableWebBindingInitializer

27.1.8。模板引擎

27.1.9。错误处理

自定义错误页面

映射Spring MVC之外的错误页面

WebSphere Application Server上的错误处理

10年1月27日。Spring的HATEOAS

11年1月27日。CORS支持

27.2。'Spring WebFlux框架'

27.2.1。Spring WebFlux自动配置

27.2.2。带有HttpMessageReaders和HttpMessageWriters的HTTP编解码器

27.2.3。静态内容

27.2.4。模板引擎

27.3。JAX-RS和泽西岛

27.4。嵌入式servlet容器支持

27.4.1。Servlet,过滤器和监听器

将Servlet,过滤器和侦听器注册为Spring bean

27.4.2。Servlet上下文初始化

扫描Servlet,过滤器和侦听器

27.4.3。ServletWebServerApplicationContext

27.4.4。自定义嵌入式servlet容器

程序化定制

直接自定义ConfigurableServletWebServerFactory

27.4.5。JSP限制

28.安全

28.1。的OAuth2

28.1.1。授权服务器

28.1.2。资源服务器

28.2。令牌输入用户信息

28.3。自定义用户信息RestTemplate

28.3.1。客户

28.3.2。单点登录

28.4。执行器安全

29.使用SQL数据库

29.1。配置DataSource

29.1.1。嵌入式数据库支持

29.1.2。连接到生产数据库

29.1.3。连接到JNDI数据源

29.2。使用JdbcTemplate

29.3。JPA和'Spring Data'

29.3.1。实体类

29.3.2。Spring Data JPA存储库

29.3.3。创建和删除JPA数据库

29.3.4。在View中打开EntityManager

29.4。使用H2的Web控制台

29.4.1。更改H2控制台的路径

29.4.2。确保H2控制台的安全

29.5。使用jOOQ

29.5.1。代码生成

29.5.2。使用DSLContext

29.5.3。jOOQ SQL方言

29.5.4。自定义jOOQ

30.使用NoSQL技术

30.1。Redis的

30.1.1。连接到Redis

30.2。MongoDB的

30.2.1。连接到MongoDB数据库

30.2.2。MongoTemplate

30.2.3。Spring Data MongoDB存储库

30.2.4。嵌入式Mongo

30.3。Neo4j的

30.3.1。连接到Neo4j数据库

30.3.2。使用嵌入模式

30.3.3。Neo4jSession

30.3.4。Spring Data Neo4j存储库

30.3.5。存储库示例

30.4。的GemFire

30.5。Solr的

30.5.1。连接到Solr

30.5.2。Spring Data Solr存储库

30.6。Elasticsearch

30.6.1。使用Jest连接到Elasticsearch

30.6.2。使用Spring Data连接到Elasticsearch

30.6.3。Spring Data Elasticsearch存储库

30.7。Cassandra

30.7.1。连接到Cassandra

30.7.2。Spring Data Cassandra存储库

30.8。Couchbase

30.8.1。连接到Couchbase

30.8.2。Spring Data Couchbase存储库

30.9。LDAP

30.9.1。连接到LDAP服务器

30.9.2。Spring Data LDAP存储库

30.9.3。嵌入式内存LDAP服务器

30.10。InfluxDB

30.10.1。连接到InfluxDB

31.缓存

31.1。支持的缓存提供商

31.1.1。通用

31.1.2。JCache(JSR-107)

31.1.3。EhCache 2.x

31.1.4。Hazelcast

31.1.5。Infinispan的

31.1.6。Couchbase

31.1.7。Redis

31.1.8。Caffeine

31.1.9。Simple

10年1月31日。None

32.消息传递

32.1。JMS

32.1.1。ActiveMQ支持

32.1.2。阿尔忒弥斯的支持

32.1.3。使用JNDI ConnectionFactory

32.1.4。发送消息

32.1.5。收到消息

32.2。AMQP

32.2.1。RabbitMQ支持

32.2.2。发送消息

32.2.3。收到消息

32.3。Apache Kafka支持

32.3.1。发送消息

32.3.2。收到消息

32.3.3。其他Kafka Properties

33.使用'RestTemplate'调用REST服务

33.1。RestTemplate定制

34.使用'WebClient'调用REST服务

34.1。WebClient自定义

35.验证

36.发送电子邮件

37.使用JTA的分布式事务

37.1。使用Atomikos事务管理器

37.2。使用Bitronix事务管理器

37.3。使用Narayana事务管理器

37.4。使用Java EE托管事务管理器

37.5。混合XA和非XA JMS连接

37.6。支持替代嵌入式事务管理器

38. Hazelcast

39. Quartz Scheduler

40.Spring整合

41.Spring会话

42.对JMX的监督和管理

43.测试

43.1。测试范围依赖性

43.2。测试Spring应用程序

43.3。测试Spring Boot应用程序

43.3.1。检测测试配置

43.3.2。排除测试配置

43.3.3。使用随机端口

43.3.4。嘲弄和间谍豆

43.3.5。自动配置的测试

43.3.6。自动配置的JSON测试

43.3.7。自动配置的Spring MVC测试

43.3.8。自动配置Spring WebFlux测试

43.3.9。自动配置的数据JPA测试

43.3.10。自动配置的JDBC测试

43.3.11。自动配置的jOOQ测试

43.3.12。自动配置的数据MongoDB测试

43.3.13。自动配置数据Neo4j测试

43.3.14。自动配置的Data Redis测试

43.3.15。自动配置的数据LDAP测试

43.3.16。自动配置的REST客户端

43.3.17。自动配置的Spring REST Docs测试

43.3.18。使用Spock测试Spring Boot应用程序

43.4。测试工具

43.4.1。ConfigFileApplicationContextInitializer

43.4.2。EnvironmentTestUtils

43.4.3。OutputCapture

43.4.4。TestRestTemplate

44. WebSockets

45.网络服务

46.创建自己的自动配置

46.1。了解自动配置的bean

46.2。找到自动配置候选项

46.3。条件注释

46.3.1。类注释

46.3.2。Bean注释

46.3.3。属性条件

46.3.4。资源条件

46.3.5。Web应用程序条件

46.3.6。SpEL表达条件

46.4。创建自己的启动器

46.4.1。命名

46.4.2。自动配置模块

46.4.3。入门模块

47.接下来要读什么

V.弹簧启动执行器:生产就绪功能

48.启用生产就绪功能

49.终点

49.1。自定义端点

49.2。用于执行器MVC端点的超媒体

49.3。CORS支持

49.4。添加自定义端点

49.5。健康信息

49.6。HealthIndicators的安全性

49.6.1。自动配置的HealthIndicators

49.6.2。编写自定义HealthIndicators

49.7。应用信息

49.7.1。自动配置的InfoContributors

49.7.2。自定义应用信息信息

49.7.3。Git提交信息

49.7.4。建立信息

49.7.5。编写自定义InfoContributors

50.通过HTTP监控和管理

50.1。访问敏感端点

50.2。自定义管理端点路径

50.3。自定义管理服务器端口

50.4。配置特定于管理的SSL

50.5。自定义管理服务器地址

50.6。禁用HTTP端点

50.7。HTTP健康端点格式和访问限制

51.对JMX的监督和管理

51.1。自定义MBean名称

51.2。禁用JMX端点

51.3。通过HTTP使用Jolokia for JMX

51.3.1。定制Jolokia

51.3.2。禁用Jolokia

记录器

52.1。配置记录器

53.度量标准

53.1。系统指标

53.2。DataSource指标

53.3。缓存指标

53.4。Tomcat会话指标

53.5。记录您自己的指标

53.6。添加您自己的公共指标

53.7。指标编写者,出口者和聚合

53.7.1。示例:导出到Redis

53.7.2。示例:导出到Open TSDB

53.7.3。示例:导出到Statsd

53.7.4。示例:导出到JMX

53.8。汇总来自多个来源的指标

53.9。Dropwizard指标

53.10。消息通道集成

54.审计

55.追查

55.1。自定义跟踪

56.进程监测

56.1。扩展配置

56.2。编程

57. Cloud Foundry支持

57.1。禁用扩展的Cloud Foundry执行器支持

57.2。Cloud Foundry自签名证书

57.3。自定义安全配置

58.接下来要读什么

VI。部署Spring Boot应用程序

59.部署到云端

59.1。Cloud Foundry

59.1.1。绑定到服务

59.2。Heroku的

59.3。OpenShift

59.4。亚马逊网络服务(AWS)

59.4.1。AWS Elastic Beanstalk

使用Tomcat平台

使用Java SE平台

最佳做法

59.4.2。摘要

59.5。Boxfuse和亚马逊网络服务

59.6。谷歌云

60.安装Spring Boot应用程序

60.1。支持的操作系统

60.2。Unix / Linux服务

60.2.1。作为init.d服务安装(系统V)

保护init.d服务

60.2.2。作为systemd服务安装

60.2.3。自定义启动脚本

在编写脚本时自定义脚本

运行时自定义脚本

60.3。Microsoft Windows服务

61.接下来要读什么

七。Spring Boot CLI

62.安装CLI

63.使用CLI

63.1。使用CLI运行应用程序

63.1.1。推断“抓住”依赖

63.1.2。推断“抓住”坐标

63.1.3。默认导入语句

63.1.4。自动主要方法

63.1.5。自定义依赖管理

63.2。具有多个源文件的应用程序

63.3。打包您的应用程序

63.4。初始化一个新项目

63.5。使用嵌入式shell

63.6。添加CLI扩展

64.使用Groovy bean DSL开发应用程序

65.使用settings.xml配置CLI

66.接下来要读什么

八。构建工具插件

67. Spring Boot Maven插件

67.1。包括插件

67.2。打包可执行jar和war文件

68. Spring Boot Gradle插件

69. Spring Boot AntLib模块

69.1。Spring Boot Ant任务

69.1.1。SpringBoot:exejar

69.1.2。例子

69.2。SpringBoot:findmainclass

69.2.1。例子

70.支持其他构建系统

70.1。重新打包档案

70.2。嵌套库

70.3。寻找主要课程

70.4。示例重新打包实现

71.接下来要读什么

IX。'如何'指南

72. Spring Boot应用程序

72.1。创建自己的FailureAnalyzer

72.2。排除自动配置故障

72.3。在启动之前自定义Environment或ApplicationContext

72.4。构建ApplicationContext层次结构(添加父或根上下文)

72.5。创建非Web应用程序

73.属性和配置

73.1。在构建时自动扩展属性

73.1.1。使用Maven自动扩展属性

73.1.2。使用Gradle自动扩展属性

73.2。外化SpringApplication的配置

73.3。更改应用程序的外部属性的位置

73.4。使用'short'命令行参数

73.5。使用YAML作为外部属性

73.6。设置活动的Spring配置文件

73.7。根据环境更改配置

73.8。发现外部属性的内置选项

74.嵌入式Web服务器

74.1。使用其他Web服务器

74.2。配置Jetty

74.3。向应用程序添加Servlet,过滤器或侦听器

74.3.1。使用Spring bean添加Servlet,Filter或Listener

禁用Servlet或Filter的注册

74.3.2。使用类路径扫描添加Servlet,过滤器和侦听器

74.4。更改HTTP端口

74.5。使用随机未分配的HTTP端口

74.6。在运行时发现HTTP端口

74.7。配置SSL

74.8。配置访问日志记录

74.9。在前端代理服务器后面使用

74.9.1。自定义Tomcat的代理配置

74.10。配置Tomcat

74.11。使用Tomcat启用多个连接器

74.12。使用Tomcat的LegacyCookieProcessor

74.13。配置Undertow

74.14。使用Undertow启用多个侦听器

74.15。使用@ServerEndpoint创建WebSocket端点

74.16。启用HTTP响应压缩

75. Spring MVC

75.1。编写JSON REST服务

75.2。编写XML REST服务

75.3。自定义Jackson ObjectMapper

75.4。自定义@ResponseBody渲染

75.5。处理多部分文件上载

75.6。关闭Spring MVC DispatcherServlet

75.7。关闭默认MVC配置

75.8。自定义ViewResolvers

76. HTTP客户端

76.1。配置RestTemplate以使用代理

77.记录

77.1。配置Logback以进行日志记录

77.1.1。配置仅文件输出的回溯

77.2。配置Log4j进行日志记录

77.2.1。使用YAML或JSON配置Log4j 2

78.数据访问

78.1。配置自定义DataSource

78.2。配置两个DataSource

78.3。使用Spring Data存储库

78.4。从Spring配置中分离@Entity定义

78.5。配置JPA属性

78.6。配置Hibernate命名策略

78.7。使用自定义EntityManagerFactory

78.8。使用两个EntityManagers

78.9。使用传统的persistence.xml

78.10。使用Spring Data JPA和Mongo存储库

78.11。将Spring Data存储库公开为REST端点

78.12。配置JPA使用的组件

79.数据库初始化

79.1。使用JPA初始化数据库

79.2。使用Hibernate初始化数据库

79.3。使用Spring JDBC初始化数据库

79.4。初始化Spring Batch数据库

79.5。使用更高级别的数据库迁移工具

79.5.1。在启动时执行Flyway数据库迁移

79.5.2。在启动时执行Liquibase数据库迁移

80.消息传递

80.1。禁用事务处理的JMS会话

81.批量申请

81.1。在启动时执行Spring Batch作业

82.执行器

82.1。更改执行器端点的HTTP端口或地址

82.2。自定义“whitelabel”错误页面

82.3。执行器和泽西岛

83.安全

83.1。关闭 Spring Boot security配置

83.2。更改AuthenticationManager并添加用户帐户

83.3。在代理服务器后面运行时启用HTTPS

84.热插拔

84.1。重新加载静态内容

84.2。重新加载模板而不重新启动容器

84.2.1。Thymeleaf模板

84.2.2。FreeMarker模板

84.2.3。Groovy模板

84.3。快速应用程序重启

84.4。重新加载Java类而不重新启动容器

85.建立

85.1。生成构建信息

85.2。生成git信息

85.3。自定义依赖项版本

85.4。使用Maven创建可执行JAR

85.5。使用Spring Boot应用程序作为依赖项

85.6。可执行jar运行时提取特定库

85.7。使用排除项创建不可执行的JAR

85.8。远程调试使用Maven启动的Spring Boot应用程序

85.9。不使用spring-boot-antlib从Ant构建可执行归档文件

86.传统部署

86.1。创建可部署的war文件

86.2。为旧的servlet容器创建可部署的war文件

86.3。将现有应用程序转换为Spring Boot

86.4。将WAR部署到WebLogic

86.5。在旧(Servlet 2.5)容器中部署WAR

86.6。使用生菜而不是Jedis

X.附录

A.常见应用程序属性

B.配置元数据

B.1。元数据格式

B.1.1。组属性

B.1.2。属性属性

B.1.3。提示属性

B.1.4。重复的元数据项

B.2。提供手动提示

B.2.1。价值提示

B.2.2。价值提供者

任何

课程参考

处理为

记录器名称

Spring bean引用

Spring配置文件名称

B.3。使用注释处理器生成您自己的元数据

B.3.1。嵌套属性

B.3.2。添加其他元数据

C.自动配置类

C.1。来自“spring-boot-autoconfigure”模块

C.2。来自“弹簧 - 启动 - 执行器”模块

D.测试自动配置注释

E.可执行jar格式

E.1。嵌套的JAR

E.1.1。可执行jar文件结构

E.1.2。可执行的war文件结构

E.2。Spring Boot的“JarFile”类

E.2.1。与标准Java“JarFile”的兼容性

E.3。启动可执行jar

E.3.1。发射器清单

E.3.2。爆炸档案

E.4。PropertiesLauncher功能

E.5。可执行jar限制

E.5.1。Zip条目压缩

E.5.2。系统类加载器

E.6。替代单罐解决方案

F.依赖版本

 

本文翻译自 SpringBoot 官方指南

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐