Spring Boot 2系列(附二):Spring Boot 2.0.2.RELEASE 官方参考指南目录(译)

  本篇是基于 Spring Boot 2.0.2.RELEASE 官方文档,对文档所有目录进行翻译。

  从目录中了解 Spring Boot 的总体框架和提供的功能特性。

  首先了解 Spring Boot 有那些东西(功能特性),能用来干什么(解决问题),再根据生产需要快速学习具体使用。当然有时间提前学习可以拿来即用是最好的,但往往没那么多时间和精力去研究每一项功能或特性的具体使用,研究了也不一定用的上,所以了解总体框架(拓宽知识广度),再按需导入技术也是不错的方法。

目录

I.Spring Boot 文档

1. 关于本文档
2. 获取帮助
3. 开始第一步
4. 使用 Spring Boot
5. 学习 Spring Boot 特性
6. 迁移到生产环境
7. 更高级主题

II. 入门(开始)

1. 介绍 Spring Boot
2. 系统要求

2.1 Servlet容器

3. 安装 Spring Boot

3.1 Java开发者安装指南

3.1.1 Maven 安装
3.1.2 Gradle 安装

3.2 安装 Spring Boot CLI

3.2.1 手动安装
3.2.2 使用软件开发工具包管理器安装
3.2.3 OSX Homebrew 安装
3.2.4 MacPorts 安装
3.2.5 命令行工具完成安装
3.2.6 Windows Scoop 安装
3.2.7 快速启动Spring CLI示例

3.3 Spring Boot 早期版本升级

4. 开发第一个Spring Boot应用

4.1 创建pom文件
4.2 添加依赖到类路径
4.3 编写代码

4.3.1 @RestController 和 @RequestMapping 注解
4.3.2 @EnableAutoConfiguration 注解
4.3.3 main 方法

4.4 运行示例项目
4.5 创建可执行jar

5. 下一步读什么(基础帮助)

III. 使用 Spring Boot

1. 构建项目

1.1 依赖管理
1.2 Maven构建

1.2.1 继承 Starter Parent项目
1.2.2 使用没有父POM的Spring Boot
1.2.3 使用Spring Boot Maven插件

1.3 Gradle构建
1.4 Ant构建
1.5 Starters依赖组件

2. 构建代码

2.1 使用默认的包
2.2 定位入口类文件(Main Application)

3. 配置类

3.1 导入类配置文件
3.2 导入 XML 配置文件

4. 自动配置

4.1 逐渐替换自动配置
4.2 禁用特定的自动配置类

5. Spring Beans 和依赖注入
6. 使用@SpringBootApplication注解
7. 运行你的应用

7.1 从 IDE 运行
7.2 作为包运行
7.3 使用 Maven 插件运行
7.4 使用 Gradle 插件运行
7.5 热部署

8. 开发者工具

8.1 默认属性
8.2 自动重启

8.2.1 记录更改对应的自动配置的更改的日志
8.2.2 排除不必要的资源
8.2.3 监视其它路径执行热部署的重启
8.2.4 关闭热部署重启
8.2.5 指定重启的触发文件
8.2.6 自定义重启类加载器
8.2.7 已知的限制

8.3 实时重新加载
8.4 全局设置
8.5 远程控制应用

8.5.1 运行远程客户端应用
8.5.2 远程升级

8.6 打包生产应用包
8.7 下一步读什么

IV. Spring Boot 特性

1. SpringApplication类

1.1 启动失败分析
1.2 自定义 Banner
1.3 自定义 SpringApplication类
1.4 链式调用API
1.5 Application 事件和监听器
1.6 Web 环境
1.7 访问 Application 参数
1.8 使用ApplicationRunner 和 CommandLineRunner
1.9 退出应用
1.10 管理功能

2. 配置外部化

2.1 配置随机值
2.2 访问命令行属性
2.3 加载属性文件
2.4 配置特定属性文件
2.5 引用属性
2.6 使用YMAL文件代替Properties文件

2.6.1 加载 YAML 文件
2.6.2 Spring环境使用 YAML作为属性文件
2.6.3 多 YMAL 配置文件
2.6.4 YMAL 文件缺点
2.6.5 合并 YMAL 文件列表

2.7 类型安全的配置属性

2.7.1 第三方配置
2.7.2 松散绑定
2.7.3 属性转换
2.7.4 @ConfigurationProperties校验
2.7.5 @ConfigurationProperties 与 @Value

3. Profiles配置

3.1 添加活动配置文件
3.2 在代码指定配置文件
3.3 指定特定的配置文件

4. 日志配置

4.1 日志格式化
4.2 输出日志到Console控制台

4.2.1 彩色输出

4.3 输出到文件
4.4 日志级别
4.5 自定义日志配置
4.6 Logback 扩展配置

4.6.1 特定配置
4.6.2 环境属性配置

5. 开发Web应用

5.1 Spring Web MVC框架

5.1.1 Spring MVC自动配置
5.1.2 HttpMessage 转换
5.1.3 自定义JSON序列化和反序列化
5.1.4 消息解析器
5.1.5 静态资源
5.1.6 首页欢迎页面
5.1.7 自定义站点图标
5.1.8 路径匹配和内容约定
5.1.9 初始化绑定数据
5.1.10 模板引擎
5.1.11 Error处理器
5.1.12 Spring HATEOAS自动配置
5.1.13 CORS 跨域支持

5.2 Spring WebFlux 框架

5.2.1 Spring WebFlux自动配置
5.2.2 HttpMessageReader 和 HttpMessageWriter 转换HTTP请求和响应
5.2.3 静态资源
5.2.4 模板引擎
5.2.5 Error处理器
5.2.6 Web 过滤器

5.3 JAX-RS and Jersey支持
5.4 支持嵌入式Servlet容器

5.4.1 Servlets, Filters(过滤器) and listeners(监听器)
5.4.2 Servlet Context 初始化
5.4.3 ServletWebServerApplicationContext
5.4.4 自定义嵌入的Servlet容器
5.4.5 内嵌Servlet容器对JSP支持的局限性

6. 安全配置

6.1 MVC Security(安全设置)
6.2 WebFlux Security(安全设置)
6.3 OAuth2(认证)

6.3.1 Client(客户端)
6.3.1 Server(服务器)

6.4 Actuator Security(监控安全)

6.4.1 跨域请求伪造保护

7. 集成SQL数据库

7.1 配置数据源

7.1.1 支持内嵌数据库
7.1.2 连接到生产数据库
7.1.3 连接到 JNDI数据库

7.2 使用 JdbcTemplate
7.3 JPA 和 Spring Data

7.3.1 实体类文件
7.3.2 Spring Data JPA Repositories
7.3.3 创建和删除数据库
7.3.4 Open EntityManager in View

7.4 使用 H2’s Web Console(控制台)

7.4.1 自定义 H2 Console 路径

7.5 使用JOOQ(Java面向对象查询)

7.5.1 代码生成器
7.5.2 使用 DSLContext
7.5.3 jOOQ SQL Dialect(方言)
7.5.4 自定义 jOOQ

8. 使用 NoSQL 技术

8.1 Redis

8.1.1 连接到 Redis

8.2 MongoDB

8.2.1 连接到 MongoDB 数据库
8.2.2 MongoTemplate
8.2.3 Spring Data MongoDB Repositories
8.2.4 内嵌Mongo

8.3 Neo4j

连接到 Neo4j 数据库
使用内嵌模式
Neo4jSession
Spring Data Neo4j Repositories
Repository Example(示例)

8.4 Gemfire
8.5 Solr

8.5.1 连接到 Solr
8.5.2 Spring Data Solr Repositories

8.6 Elasticsearch

使用 Jest 连接到 Elasticsearch
使用 Spring Data 连接到 Elasticsearch
Spring Data Elasticsearch Repositories

8.7 Cassandra

连接到 Cassandra
Spring Data Cassandra Repositories

8.8 Couchbase

连接到 Couchbase
Spring Data Couchbase Repositories

8.9 LDAP

连接到 LDAP 服务
Spring Data LDAP Repositories
内嵌到内存LDAP 服务

8.10 InfluxDB

连接到 InfluxDB 服务

9. Caching(缓存)

9.1 提供缓存技持

9.1.1 Generic
9.1.2 JCache (JSR-107)
9.1.3 EhCache 2.x
9.1.4 Hazelcast
9.1.5 Infinispan
9.1.6 Couchbase
9.1.7 Redis
9.1.8 Caffeine
9.1.9 Simple
9.1.10 None(禁用缓存)

10. Messaging(消息中间件)

10.1 支持 JMS

10.1.1 支持 ActiveMQ
10.1.2 支持 Artemis
10.1.3 使用 JNDI ConnectionFactory
10.1.4 发送消息
10.1.5 接收消息

10.2 AMQP

10.2.1 支持 RabbitMQ
10.2.2 发送消息
10.2.3 接收消息

10.3 支持 Apache Kafka

10.3.1 发送消息
10.3.2 接收消息
10.3.3 配置 Kafka 属性

11. 使用 RestTemplate 调用 REST 服务

11.1 自定义 RestTemplate

12. 使用 WebClient 调用 REST 服务

12.1 自定义 WebClient

13. Validation(校验)
14. 发送邮件
15. JTA的分布式事务

15.1 使用 Atomikos 事务管理器
15.2 使用 Bitronix 事务管理器
15.3 使用 Narayana 事务管理器
15.4 使用 Java EE 事务管理器
15.5 Mixing XA and Non-XA JMS Connections
15.6 支持 Alternative 内嵌事务管理器

16. Hazelcast
17. Quartz Scheduler(任务计划)
18. Spring Integration
19. Spring Integration
20. Spring Session
20. 使用 JMX 进行监控和管理
21. 测试

21.1 测试范围依赖关系
21.2 测试Spring 应用
21.3 测试Spring Boot应用

21.3.1 检测Web应用类型
21.3.2 检测测试配置
21.3.3 排除测试配置
21.3.4 使用运行的服务器进行测试
21.3.5 Mocking 模拟和 Spying Beans
21.3.6 Auto-configured Tests
21.3.7 Auto-configured JSON Tests
21.3.8 Auto-configured Spring MVC Tests
21.3.9 Auto-configured Spring WebFlux Tests
21.3.10 Auto-configured Data JPA Tests
21.3.11 Auto-configured JDBC Tests
21.3.12 Auto-configured jOOQ Tests
21.3.13 Auto-configured Data MongoDB Tests
21.3.14 Auto-configured Data Neo4j Tests
21.3.15 Auto-configured Data Redis Tests
21.3.16 Auto-configured Data LDAP Tests
21.3.17 Auto-configured REST Clients
21.3.18 Auto-configured Spring REST Docs Tests
21.3.19 User Configuration and Slicing
21.3.20 Using Spock to Test Spring Boot Applications

21.4 测试工具类

21.4.1 ConfigFileApplicationContextInitializer
21.4.2 TestPropertyValues
21.4.3 (OutputCapture)输出快照
21.4.4 TestRestTemplate

22. WebSockets
23. Web Services
24. 创建自己的自动配置

24.1 理解自动配置Beans
24.2 查找预备的自动配置
24.3 条件注解

24.3.1 Class Conditions(类条件)
24.3.2 Bean Conditions(Bean条件)
24.3.3 Property Conditions(属性条件)
24.3.4 Resource Conditions(资源条件)
24.3.5 Web Application Conditions(Web应用条件)
24.3.6 SpEL Expression Conditions(SpEL表达式条件)

24.4 测试自动配置

24.4.1 模拟 Web 上下
24.4.2 覆盖类路径

24.5 创建自己的 Starter

24.5.1 命名
24.5.2 自动配置模块
24.5.3 Starter 模块

25. 支持 kotlin

25.1 Requirements(要求)
25.2 Null-safety(空安全)
25.3 Kotlin API

25.3.1 runApplication
25.3.2 Extensions(扩展)

25.4 依赖管理
25.5 @ConfigurationProperties
25.6 Testing(测试)
25.7 Resources(资源)

25.7.1 进一步阅读
25.7.2 示例

26. 下一步阅读什么

V. Spring Boot 应用监控

VI. 部署 Spring Boot 应用

VII. Spring Boot CLI(命令行工具)

VIII. 构建工具插件

IX. 如何操作(问题分析解决)

X. 附录

Spring Boot 2系列(附二):Spring Boot 2.0.2.RELEASE 官方参考指南目录(译)

http://blog.gxitsky.com/2018/06/14/SpringBoot-attachment-02-reference-guide-contents/

作者

光星

发布于

2018-06-14

更新于

2022-06-17

许可协议

评论