☰
✕
Spring Boot 中文文档
语言
English
中文
版本
1.5.9.RELEASE
2.1.1.RELEASE
I. Spring Boot 文档
1. 关于文档
2. Getting help
3. First steps
4. 使用 Spring Boot
5. 了解 Spring Boot 功能
6. 进入生产
7. Advanced topics
II. 使用 Starter
8. 介绍 Spring Boot
9. System Requirements
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. 快速 StarterSpring CLI 示例
10.3. 从较早版本的 Spring Boot 升级
11. 开发您的第一个 Spring Boot 应用程序
11.1. 创建 POM
11.2. 添加 Classpath 依赖项
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. Build systems
13.1. 依赖性 Management
13.2. Maven
13.2.1. 继承 Starter Parent
13.2.2. 在没有父 POM 的情况下使用 Spring Boot
13.2.3. 更改 Java 版本
13.2.4. 使用 Spring Boot Maven 插件
13.3. Gradle
13.4. Ant
13.5. Starters
14. 结构化代码
14.1. 使用"default"包
14.2. 查找主应用程序类
15. Configuration classes
15.1. 导入其他配置类
15.2. 导入 XML 配置
16. Auto-configuration
16.1. 逐步替换自动配置
16.2. 禁用特定的自动配置
17. Springbean 和依赖注入
18. 使用@SpringBootApplication 注解
19. 运行你的应用程序
19.1. 从 IDE 运行
19.2. 作为打包的应用程序运行
19.3. 使用 Maven 插件
19.4. 使用 Gradle 插件
19.5. 热插拔
20. Developer tools
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. 运行远程 Client 端应用程序
20.5.2. 远程更新
20.5.3. 远程调试隧道
21. 包装您的应用程序以进行生产
22. 接下来要读什么
IV. Spring Boot 功能
23. SpringApplication
23.1. 启动失败
23.2. 自定义 banner
23.3. 自定义 SpringApplication
23.4. Fluent Builder API
23.5. 应用程序事件和侦听器
23.6. 网络环境
23.7. 访问应用程序参数
23.8. 使用 ApplicationRunner 或 CommandLineRunner
23.9. 申请退出
23.10. Management 员功能
24. Externalized Configuration
24.1. 配置随机值
24.2. 访问命令行属性
24.3. 应用程序属性文件
24.4. 个人 Files 的特定属性
24.5. 属性中的占位符
24.6. 使用 YAML 代替属性
24.6.1. 正在加载 YAML
24.6.2. 将 YAML 公开为 Spring 环境中的属性
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 与@Value
25. Profiles
25.1. 添加 ActiveProfile
25.2. 以编程方式设置配置文件
25.3. Profile 特定的配置文件
26. Logging
26.1. 日志格式
26.2. 控制台输出
26.2.1. 颜色编码的输出
26.3. 文件输出
26.4. 日志级别
26.5. 自定义日志配置
26.6. Logback 扩展
26.6.1. Profile 特定的配置
26.6.2. 环境属性
27. 开发网络应用
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. 自定义图标
27.1.7. ConfigurableWebBindingInitializer
27.1.8. 模板引擎
27.1.9. 错误处理
自定义错误页面
在 Spring MVC 外部 Map 错误页面
WebSphere Application Server 上的错误处理
27.1.10. SpringHATEOAS
27.1.11. CORS 支持
27.2. JAX-RS 和 Jersey
27.3. 嵌入式 Servlet 容器支持
27.3.1. Servlet,过滤器和侦听器
将 Servlet,过滤器和侦听器注册为 Spring Bean
27.3.2. Servlet 上下文初始化
扫描 Servlet,过滤器和侦听器
27.3.3. EmbeddedWebApplicationContext
27.3.4. 自定义嵌入式 servlet 容器
Programmatic customization
直接自定义 ConfigurableEmbeddedServletContainer
27.3.5. JSP 限制
28. Security
28.1. OAuth2
28.1.1. 授权服务器
28.1.2. 资源服务器
28.2. 用户信息中的令牌类型
28.3. 自定义用户信息 RestTemplate
28.3.1. Client
28.3.2. 单点登录
28.4. Actuator 安全
29. 使用 SQL 数据库
29.1. 配置数据源
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. 在视图中打开 EntityManager
29.4. 使用 H2 的 Web Console
29.4.1. 更改 H2 控制台的路径
29.4.2. 保护 H2 控制台
29.5. 使用 jOOQ
29.5.1. 代码生成
29.5.2. 使用 DSLContext
29.5.3. 自定义 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. Repositories 示例
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 服务器
31. Caching
31.1. 受支持的缓存提供程序
31.1.1. Generic
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. Guava(已弃用)
31.1.10. Simple
31.1.11. None
32. Messaging
32.1. JMS
32.1.1. ActiveMQ 支持
32.1.2. Artemis 支持
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 的其他属性
33. 调用 REST 服务
33.1. RestTemplate 定制
34. Validation
35. Sending email
36. JTA 的分布式事务
36.1. 使用 AtomikosTransaction manager
36.2. 使用 BitronixTransaction manager
36.3. 使用 NarayanaTransaction manager
36.4. 使用 Java EE 托管的事务 Management 器
36.5. 混合 XA 和非 XA JMS 连接
36.6. 支持替代嵌入式事务 Management 器
37. Hazelcast
38. Spring Integration
39. Spring Session
40. 通过 JMX 进行监视和 Management
41. Testing
41.1. 测试范围的依赖性
41.2. 测试 Spring 应用程序
41.3. 测试 Spring Boot 应用程序
41.3.1. 检测测试配置
41.3.2. 不包括测试配置
41.3.3. 使用随机端口
41.3.4. 模拟 bean 和 Spybean
41.3.5. 自动配置的测试
41.3.6. 自动配置的 JSON 测试
41.3.7. 自动配置的 Spring MVC 测试
41.3.8. 自动配置的数据 JPA 测试
41.3.9. 自动配置的 JDBC 测试
41.3.10. 自动配置的 Data MongoDB 测试
41.3.11. 自动配置的 RESTClient 端
41.3.12. 自动配置的 Spring REST Docs 测试
41.3.13. 用户配置和切片
41.3.14. 使用 Spock 测试 Spring Boot 应用程序
41.4. 测试 Util
41.4.1. ConfigFileApplicationContextInitializer
41.4.2. EnvironmentTestUtils
41.4.3. OutputCapture
41.4.4. TestRestTemplate
42. WebSockets
43. Web Services
44. 创建自己的自动配置
44.1. 了解自动配置的 Bean
44.2. 查找自动配置候选对象
44.3. 条件 Comments
44.3.1. Class 条件
44.3.2. Bean 条件
44.3.3. Property 条件
44.3.4. 资源条件
44.3.5. Web 应用程序条件
44.3.6. SpEL 表达条件
44.4. 创建自己的 Starter
44.4.1. Naming
44.4.2. 自动配置模块
44.4.3. Starter 模块
45. 接下来要读什么
V. Spring Boot Actuator:可用于生产的功能
46. 启用生产就绪功能
47. Endpoints
47.1. 自定义端点
47.2. 用于 ActuatorMVC 端点的超媒体
47.3. CORS 支持
47.4. 添加自定义端点
47.5. 健康信息
47.6. HealthIndicators 的安全性
47.6.1. 自动配置的健康 Metrics
47.6.2. 编写自定义健康 Metrics
47.7. 申请信息
47.7.1. 自动配置的信息贡献者
47.7.2. 自定义应用程序信息信息
47.7.3. Git 提交信息
47.7.4. 构建信息
47.7.5. 编写自定义 InfoContributor
48. 通过 HTTP 进行监视和 Management
48.1. 访问敏感端点
48.2. 自定义 Management 端点路径
48.3. 自定义 Management 服务器端口
48.4. 配置特定于 Management 的 SSL
48.5. 自定义 Management 服务器地址
48.6. 禁用 HTTP 端点
48.7. HTTP 健康状况端点格式和访问限制
49. 通过 JMX 进行监视和 Management
49.1. 自定义 MBean 名称
49.2. 禁用 JMX 端点
49.3. 通过 HTTP 将 Jolokia 用于 JMX
49.3.1. 自定义 Jolokia
49.3.2. 禁用 Jolokia
50. 使用远程 Shell 进行监视和 Management(不建议使用)
50.1. 连接到远程 Shell
50.1.1. 远程 Shell 凭据
50.2. 扩展远程 Shell
50.2.1. 远程 Shell 命令
50.2.2. 远程 Shell 插件
51. Loggers
51.1. 配置 Logger
52. Metrics
52.1. 系统 Metrics
52.2. 数据源 Metrics
52.3. 缓存 Metrics
52.4. Tomcat 会话 Metrics
52.5. 记录自己的 Metrics
52.6. 添加您自己的公开 Metrics
52.7. Java 8 的特殊功能
52.8. Metrics 编写者,导出者和汇总
52.8.1. 示例:导出到 Redis
52.8.2. 示例:导出到 Open TSDB
52.8.3. 示例:导出到 Statsd
52.8.4. 示例:导出到 JMX
52.9. 汇总来自多个来源的 Metrics
52.10. DropwizardMetrics
52.11. 消息通道集成
53. Auditing
54. Tracing
54.1. 自定义跟踪
55. Process monitoring
55.1. 扩展配置
55.2. Programmatically
56. Cloud Foundry 支持
56.1. 禁用扩展的 Cloud FoundryActuator 支持
56.2. Cloud Foundry 自签名证书
56.3. 自定义安全配置
57. 接下来要读什么
VI. 部署 Spring Boot 应用程序
58. 部署到云端
58.1. Cloud Foundry
58.1.1. 绑定到服务
58.2. Heroku
58.3. OpenShift
58.4. Amazon Web Services(AWS)
58.4.1. AWS Elastic Beanstalk
使用 Tomcat 平台
使用 Java SE 平台
Best practices
58.4.2. Summary
58.5. Boxfuse 和 Amazon Web Services
58.6. Google Cloud
59. 安装 Spring Boot 应用程序
59.1. 支持的 os
59.2. Unix/Linux 服务
59.2.1. 作为 init.d 服务安装(系统 V)
保护 init.d 服务
59.2.2. 作为系统服务安装
59.2.3. 自定义启动脚本
编写脚本时自定义脚本
运行时自定义脚本
59.3. Microsoft Windows 服务
60. 接下来要读什么
VII. Spring Boot CLI
61. 安装 CLI
62. 使用 CLI
62.1. 使用 CLI 运行应用程序
62.1.1. 推论"grab"依赖性
62.1.2. 推导"grab"坐标
62.1.3. 默认导入语句
62.1.4. 自动 Main 方法
62.1.5. 自定义依赖项 Management
62.2. 测试您的代码
62.3. 具有多个源文件的应用程序
62.4. 打包您的应用程序
62.5. 初始化新项目
62.6. 使用嵌入式 Shell
62.7. 将扩展添加到 CLI
63. 用 Groovy bean DSL 开发应用程序
64. 使用 settings.xml 配置 CLI
65. 接下来要读什么
VIII. 构建工具插件
66. Spring Boot Maven 插件
66.1. 引入插件
66.2. 打包可执行 jar 和 war 文件
67. Spring Boot Gradle 插件
67.1. 引入插件
67.2. Gradle 依赖性 Management
67.3. 打包可执行 jar 和 war 文件
67.4. 就地运行项目
67.5. Spring Boot 插件配置
67.6. 重新打包配置
67.7. 使用自定义 Gradle 配置重新打包
67.7.1. 配置选项
67.7.2. 可用的布局
67.7.3. 使用自定义布局
67.8. 了解 Gradle 插件的工作方式
67.9. 使用 Gradle 将工件发布到 Maven 存储库
67.9.1. 配置 Gradle 以生成继承依赖 Management 的 pom
67.9.2. 配置 Gradle 以生成导入依赖项 Management 的 pom
68. Spring Boot AntLib 模块
68.1. Spring Boot Ant 任务
68.1.1. spring-boot:exejar
68.1.2. Examples
68.2. spring-boot:findmainclass
68.2.1. Examples
69. 支持其他构建系统
69.1. 重新打包 Files
69.2. 嵌套库
69.3. 寻找 Main 方法
69.4. 重新打包实施示例
70. 接下来要读什么
IX. “使用方法”指南
71. Spring Boot 应用程序
71.1. 创建自己的 FailureAnalyzer
71.2. 自动配置问题排查
71.3. 在启动环境或 ApplicationContext 之前对其进行自定义
71.4. 构建 ApplicationContext 层次结构(添加父上下文或根上下文)
71.5. 创建非 Web 应用程序
72. 属性和配置
72.1. 在构建时自动扩展属性
72.1.1. 使用 Maven 自动扩展属性
72.1.2. 使用 Gradle 自动扩展属性
72.2. 外部化 SpringApplication 的配置
72.3. 更改应用程序外部属性的位置
72.4. 使用“短”命令行参数
72.5. 将 YAML 用作外部属性
72.6. 设置 ActiveSpring 配置文件
72.7. 根据环境更改配置
72.8. 发现外部属性的内置选项
73. 嵌入式 Servlet 容器
73.1. 向应用程序添加 Servlet,过滤器或侦听器
73.1.1. 使用 Spring bean 添加 Servlet,Filter 或 Listener
禁用 Servlet 或过滤器的注册
73.1.2. 使用 Classpath 扫描添加 Servlet,过滤器和侦听器
73.2. 更改 HTTP 端口
73.3. 使用随机未分配的 HTTP 端口
73.4. 在运行时发现 HTTP 端口
73.5. 配置 SSL
73.6. 配置访问日志
73.7. 在前端代理服务器后面使用
73.7.1. 自定义 Tomcat 的代理配置
73.8. 配置 Tomcat
73.9. 使用 Tomcat 启用多个连接器
73.10. 使用 Tomcat 的 LegacyCookieProcessor
73.11. 使用 Jetty 代替 Tomcat
73.12. 配置 Jetty
73.13. 使用 Undertow 代替 Tomcat
73.14. 配置 Underwow
73.15. 使用 Undertow 启用多个侦听器
73.16. 使用 Tomcat 7.x 或 8.0
73.16.1. 将 Tomcat 7.x 或 8.0 与 Maven 一起使用
73.16.2. 将 Tomcat 7.x 或 8.0 与 Gradle 一起使用
73.17. 使用 Jetty9.2
73.17.1. 将 Jetty 9.2 与 Maven 一起使用
73.17.2. 将 Jetty 9.2 与 Gradle 一起使用
73.18. 使用 Jetty8
73.18.1. 将 Jetty 8 与 Maven 一起使用
73.18.2. 将 Jetty 8 与 Gradle 一起使用
73.19. 使用@ServerEndpoint 创建 WebSocket 端点
73.20. 启用 HTTP 响应压缩
74. Spring MVC
74.1. 编写 JSON REST 服务
74.2. 编写 XML REST 服务
74.3. 自定义 Jackson ObjectMapper
74.4. 自定义@ResponseBody 渲染
74.5. 处理分段文件上传
74.6. 关闭 Spring MVC DispatcherServlet
74.7. 关闭默认的 MVC 配置
74.8. 自定义 ViewResolvers
74.9. 使用 Thymeleaf 3
75. HTTP clients
75.1. 配置 RestTemplate 使用代理
76. Logging
76.1. 配置登录以进行日志记录
76.1.1. 配置仅文件输出的登录
76.2. 配置 Log4j 进行日志记录
76.2.1. 使用 YAML 或 JSON 配置 Log4j 2
77. Data Access
77.1. 配置自定义数据源
77.2. 配置两个数据源
77.3. 使用 Spring 数据存储库
77.4. 将@Entity 定义与 Spring 配置分开
77.5. 配置 JPA 属性
77.6. 配置 Hibernate 命名策略
77.7. 使用自定义 EntityManagerFactory
77.8. 使用两个 EntityManager
77.9. 使用传统的 persistence.xml
77.10. 使用 Spring Data JPA 和 Mongo 存储库
77.11. 将 Spring Data 存储库公开为 REST 端点
77.12. 配置 JPA 使用的组件
78. Database initialization
78.1. 使用 JPA 初始化数据库
78.2. 使用 Hibernate 初始化数据库
78.3. 初始化数据库
78.4. 初始化 Spring Batch 数据库
78.5. 使用更高级别的数据库迁移工具
78.5.1. 在启动时执行 Flyway 数据库迁移
78.5.2. 在启动时执行 Liquibase 数据库迁移
79. Messaging
79.1. 禁用事务 JMS 会话
80. Batch applications
80.1. 在启动时执行 Spring Batch 作业
81. Actuator
81.1. 更改 Actuator 端点的 HTTP 端口或地址
81.2. 自定义“ whitelabel”错误页面
81.3. Actuator 和 Jersey
82. Security
82.1. 关闭 Spring Boot 安全性配置
82.2. 更改 AuthenticationManager 并添加用户帐户
82.3. 在代理服务器上运行时启用 HTTPS
83. Hot swapping
83.1. 重新加载静态内容
83.2. 重新加载模板,而无需重新启动容器
83.2.1. Thymeleaf 模板
83.2.2. FreeMarker 模板
83.2.3. Groovy 模板
83.3. 快速重新启动应用程序
83.4. 重新加载 Java 类,而无需重新启动容器
83.4.1. 配置 Spring Loaded 以与 Maven 一起使用
83.4.2. 配置 Spring Loaded 以与 Gradle 和 IntelliJ IDEA 一起使用
84. Build
84.1. 生成构建信息
84.2. 生成 git 信息
84.3. 自定义依赖项版本
84.4. 使用 Maven 创建可执行 JAR
84.5. 使用 Spring Boot 应用程序作为依赖项
84.6. 运行可执行 jar 时提取特定的库
84.7. 创建带有排除项的不可执行的 JAR
84.8. 远程调试以 Maven 启动的 Spring Boot 应用程序
84.9. 远程调试使用 Gradle 启动的 Spring Boot 应用程序
84.10. 在不使用 spring-boot-antlib 的情况下从 Ant 构建可执行归档文件
84.11. 如何使用 Java 6
84.11.1. 嵌入式 Servlet 容器兼容性
84.11.2. Jackson
84.11.3. JTA API 兼容性
85. Traditional deployment
85.1. 创建可部署的 War 文件
85.2. 为较旧的 servlet 容器创建可部署的 war 文件
85.3. 将现有应用程序转换为 Spring Boot
85.4. 将 WAR 部署到 WebLogic
85.5. 在旧的(Servlet 2.5)容器中部署 WAR
X. Appendices
A.常见的应用程序属性
B.配置元数据
B.1.元数据格式
B.1.1.组属性
B.1.2.属性属性
B.1.3.提示属性
B.1.4.重复的元数据项
B.2.提供手动提示
B.2.1.Value hint
B.2.2.Value provider
Any
Class reference
Handle As
Logger name
Springbean 参考
Spring Profile 名称
B.3.使用 Comments 处理器生成您自己的元数据
B.3.1.嵌套属性
B.3.2.添加其他元数据
C.自动配置类
C.1.从“ spring-boot-autoconfigure”模块
C.2.来自“ spring-boot-actuator”模块
D.测试自动配置 Comments
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.Exploded archives
E.4.属性启动器功能
E.5.可执行 jar 限制
E.5.1.Zip 压缩
E.5.2.系统类加载器
E.6.替代独立 Jar 包解决方案
F.依赖版本
Part X. 附录
上一章
首页
下一章
⌃