介紹
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.2. Spring Boot CLI安装
10.3. 从Spring Boot早期版本升级
11. 开发你的第一个Spring Boot应用
11.1. 创建POM
11.2. 添加classpath依赖
11.3. 编写代码
11.4. 运行示例
11.5. 创建一个可执行jar
12. 接下来阅读什么
III. 使用Spring Boot
13. 构建系统
13.1. Maven
13.2. Gradle
13.3. Ant
13.4. Starter POMs
14. 组织你的代码
14.1. 使用"default"包
14.2. 定位main应用类
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. 打包用于生产的应用程序
21. 接下来阅读什么
IV. Spring Boot特性
22. SpringApplication
22.1. 自定义Banner
22.2. 自定义SpringApplication
22.3. 流畅的构建API
22.4. Application事件和监听器
22.5. Web环境
22.6. 命令行启动器
22.7. Application退出
23.外化配置
23.1. 配置随机值
23.2. 访问命令行属性
23.3. Application属性文件
23.4. 特定的Profile属性
23.5. 属性占位符
23.6. 使用YAML代替Properties
23.7. 类型安全的配置属性
24. Profiles
24.1. 添加激活的配置(profiles)
24.2.以编程方式设置profiles
24.3. Profile特定配置文件
25. 日志
25.1. 日志格式
25.2. 控制台输出
25.3. 文件输出
25.4. 日志级别
25.5. 自定义日志配置
26. 开发Web应用
26.1. Spring Web MVC框架
26.2. JAX-RS和Jersey
26.3. 内嵌servlet容器支持
27. 安全
28. 使用SQL数据库
28.1. 配置DataSource
28.2. 使用JdbcTemplate
28.3. JPA和Spring Data
29. 使用NoSQL技术
29.1. Redis
29.2. MongoDB
29.3. Gemfire
29.4. Solr
29.5. Elasticsearch
30. 消息
30.1. JMS
31. 发送邮件
32. 使用JTA处理分布式事务
32.1. 使用一个Atomikos事务管理器
32.2. 使用一个Bitronix事务管理器
32.3. 使用一个J2EE管理的事务管理器
32.4. 混合XA和non-XA的JMS连接
33. Spring集成
34. 基于JMX的监控和管理
35. 测试
35.1. 测试作用域依赖
35.2. 测试Spring应用
35.3. 测试Spring Boot应用
35.4. 测试工具
36. 开发自动配置和使用条件
36.1. 理解auto-configured beans
36.2. 定位auto-configuration候选者
36.3. Condition注解
37. WebSockets
38. 接下来阅读什么
V. Spring Boot执行器: Production-ready特性
39. 开启production-ready特性
40. 端点
40.1. 自定义端点
40.2. 健康信息
40.3. 安全与HealthIndicators
40.4. 自定义应用info信息
41. 基于HTTP的监控和管理
41.1. 保护敏感端点
41.2. 自定义管理服务器的上下文路径
41.3. 自定义管理服务器的端口
41.4. 自定义管理服务器的地址
41.5. 禁用HTTP端点
41.6. HTTP Health端点访问限制
42. 基于JMX的监控和管理
42.1. 自定义MBean名称
42.2. 禁用JMX端点
42.3. 使用Jolokia通过HTTP实现JMX远程管理
43. 使用远程shell来进行监控和管理
44. 度量指标(Metrics)
45. 审计
46. 追踪(Tracing)
47. 进程监控
VI. 部署到云端
49. Cloud Foundry
49.1. 绑定服务
50. Heroku
51. Openshift
52. Google App Engine
53. 接下来阅读什么
VII. Spring Boot CLI
54. 安装CLI
55. 使用CLI
55.1. 使用CLI运行应用
55.2. 测试你的代码
55.3. 多源文件应用
55.4. 应用打包
55.5. 初始化新工程
55.6. 使用内嵌shell
55.7. 为CLI添加扩展
56. 使用Groovy beans DSL开发应用
57. 接下来阅读什么
VIII. 构建工具插件
58. Spring Boot Maven插件
58.1. 包含该插件
58.2. 打包可执行jar和war文件
59. Spring Boot Gradle插件
59.1. 包含该插件
59.2. 声明不带版本的依赖
59.3. 默认排除规则
59.4. 打包可执行jar和war文件
59.5. 就地(in-place)运行项目
59.6. Spring Boot插件配置
59.7. Repackage配置
59.8. 使用Gradle自定义配置进行Repackage
59.9. 理解Gradle插件是如何工作的
60. 对其他构建系统的支持
60.1. 重新打包存档
60.2. 内嵌的库
60.3. 查找main类
60.4. repackage实现示例
61. 接下来阅读什么
IX. How-to指南
62. Spring Boot应用
62.1. 解决自动配置问题
62.2. 启动前自定义Environment或ApplicationContext
62.4. 创建一个非web(non-web)应用
63. 属性&配置
63.1. 外部化SpringApplication配置
63.2. 改变应用程序外部配置文件的位置
63.3. 使用'short'命令行参数
63.4. 使用YAML配置外部属性
63.5. 设置生效的Spring profiles
63.6. 根据环境改变配置
63.7. 发现外部属性的内置选项
64. 内嵌的servlet容器
64.1. 为应用添加Servlet,Filter或ServletContextListener
64.2. 改变HTTP端口
64.3. 使用随机未分配的HTTP端口
64.4. 发现运行时的HTTP端口
64.5. 配置SSL
64.6. 配置Tomcat
64.7. 启用Tomcat的多连接器(Multiple Connectors)
64.8. 在前端代理服务器后使用Tomcat
64.9. 使用Jetty替代Tomcat
64.10. 配置Jetty
64.11. 使用Undertow替代Tomcat
64.12. 配置Undertow
64.13. 启用Undertow的多监听器
64.14. 使用Tomcat7
64.15. 使用Jetty8
64.16. 使用@ServerEndpoint创建WebSocket端点
64.17. 启用HTTP响应压缩
65. Spring MVC
65.1. 编写一个JSON REST服务
65.2. 编写一个XML REST服务
65.3. 自定义Jackson ObjectMapper
65.4. 自定义@ResponseBody渲染
65.5. 处理Multipart文件上传
65.6. 关闭Spring MVC DispatcherServlet
65.7. 关闭默认的MVC配置
65.8. 自定义ViewResolvers
66. 日志
66.1. 配置Logback
66.2. 配置Log4j
67. 数据访问
67.1. 配置一个数据源
67.2. 配置两个数据源
67.3. 使用Spring Data仓库
67.4. 从Spring配置分离@Entity定义
67.5. 配置JPA属性
67.6. 使用自定义的EntityManagerFactory
67.7. 使用两个EntityManagers
67.8. 使用普通的persistence.xml
67.9. 使用Spring Data JPA和Mongo仓库
67.10. 将Spring Data仓库暴露为REST端点
68. 数据库初始化
68.1. 使用JPA初始化数据库
68.2. 使用Hibernate初始化数据库
68.3. 使用Spring JDBC初始化数据库
68.4. 初始化Spring Batch数据库
68.5. 使用一个高级别的数据迁移工具
69. 批处理应用
69.1. 在启动时执行Spring Batch作业
70. 执行器(Actuator)
70.1. 改变HTTP端口或执行器端点的地址
70.2. 自定义'白标'(whitelabel,可以了解下相关理念)错误页面
71. 安全
71.1. 关闭Spring Boot安全配置
71.2. 改变AuthenticationManager并添加用户账号
71.3. 当前端使用代理服务器时,启用HTTPS
72. 热交换
72.1. 重新加载静态内容
72.2. 在不重启容器的情况下重新加载Thymeleaf模板
72.3. 在不重启容器的情况下重新加载FreeMarker模板
72.4. 在不重启容器的情况下重新加载Groovy模板
72.5. 在不重启容器的情况下重新加载Velocity模板
72.6. 在不重启容器的情况下重新加载Java类
73. 构建
73.1. 使用Maven自定义依赖版本
73.2. 使用Maven创建可执行JAR
73.3. 创建其他的可执行JAR
73.4. 在可执行jar运行时提取特定的版本
73.6. 远程调试一个使用Maven启动的Spring Boot项目
73.7. 远程调试一个使用Gradle启动的Spring Boot项目
73.8. 使用Ant构建可执行存档(archive)
73.9. 如何使用Java6
74. 传统部署
74.1. 创建一个可部署的war文件
74.2. 为老的servlet容器创建一个可部署的war文件
74.3. 将现有的应用转换为Spring Boot
74.4. 部署WAR到Weblogic
X.附录
附录A. 常见应用属性
附录B. 配置元数据
附录B.1. 元数据格式
附录B.2. 使用注解处理器产生自己的元数据
附录C. 自动配置类
附录 C.1. 来自spring-boot-autoconfigure模块
附录C.2. 来自spring-boot-actuator模块
附录D. 可执行jar格式
附录D.1. 内嵌JARs
附录D.2. Spring Boot的"JarFile"类
附录D.3. 启动可执行jars
附录D.4. PropertiesLauncher特性
附录D.5. 可执行jar的限制
附录D.6. 可替代的单一jar解决方案
附录E. 依赖版本