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 官方指南