logo资料库

springboot官方文档.pdf

第1页 / 共785页
第2页 / 共785页
第3页 / 共785页
第4页 / 共785页
第5页 / 共785页
第6页 / 共785页
第7页 / 共785页
第8页 / 共785页
资料共785页,剩余部分请下载后查看
Introduction
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. 依赖管理
13.2. Maven
13.3. Gradle
13.4. Ant
13.5. Starters
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. 开发者工具
20.1. 默认属性
20.2. 自动重启
20.3. LiveReload
20.4. 全局设置
20.5. 远程应用
21. 打包用于生产的应用
22. 接下来阅读什么
IV. Spring Boot特性
23. SpringApplication
23.1. 启动失败
23.2. 自定义Banner
23.3. 自定义SpringApplication
23.4. 流式构建API
23.5. 应用事件和监听器
23.6. Web环境
23.7. 访问应用参数
23.8. 使用ApplicationRunner或CommandLineRunner
23.9. 应用退出
23.10. Admin特性
24.外化配置
24.1. 配置随机值
24.2. 访问命令行属性
24.3. 应用属性文件
24.4. Profile-specific属性
24.5. 属性占位符
24.6. 使用YAML代替Properties
24.7. 类型安全的配置属性
25. Profiles
25.1. 添加激活的profiles
25.2.以编程方式设置profiles
25.3. Profile-specific配置文件
26. 日志
26.1. 日志格式
26.2. 控制台输出
26.3. 文件输出
26.4. 日志级别
26.5. 自定义日志配置
26.6. Logback扩展
27. 开发Web应用
27.1. Spring Web MVC框架
27.2 Spring WebFlux框架
27.3. JAX-RS和Jersey
27.4 内嵌servlet容器支持
28. 安全
28.1 OAuth2
28.2 User Info中的Token类型
28.3 自定义User Info RestTemplate
28.4 Actuator安全
29. 使用SQL数据库
29.1. 配置DataSource
29.2. 使用JdbcTemplate
29.3. JPA和Spring Data
29.4 使用H2的web控制台
29.5 使用jOOQ
30. 使用NoSQL技术
30.1. Redis
30.2. MongoDB
30.3 Neo4j
30.4 Gemfire
30.5 Solr
30.6 Elasticsearch
30.7 Cassandra
30.8 Couchbase
30.9 LDAP
30.10 InfluxDB
31. 缓存
31.1 支持的缓存提供商
32. 消息
32.1. JMS
32.2 AMQP
32.3 Apache Kafka支持
33. 调用REST服务
33.1 自定义RestTemplate
34. 验证
35. 发送邮件
36. 使用JTA处理分布式事务
36.1 使用Atomikos事务管理器
36.2 使用Bitronix事务管理器
36.3 使用Narayana事务管理器
36.4 使用J2EE管理的事务管理器
36.5 混合XA和non-XA的JMS连接
36.6 支持可替代的内嵌事务管理器
37. Hazelcast
38. Quartz调度器
39. Spring集成
40. Spring Session
41. 基于JMX的监控和管理
42. 测试
42.1 测试作用域依赖
42.2 测试Spring应用
42.3 测试Spring Boot应用
42.4 测试工具类
43. WebSockets
44. Web Services
45. 创建自己的auto-configuration
45.1 理解自动配置的beans
45.2 定位自动配置候选者
45.3 条件注解
45.4 创建自己的starter
46. 接下来阅读什么
V. Spring Boot执行器: Production-ready特性
47. 开启production-ready特性
48. 端点
48.1 自定义端点
48.2 执行器MVC端点的超媒体支持
48.3 CORS支持
48.4 添加自定义端点
48.5 健康信息
48.6 安全与HealthIndicators
48.7 应用信息
49. 基于HTTP的监控和管理
49.1 访问敏感端点
49.2 自定义管理端点路径
49.3 自定义管理服务器端口
49.4 配置管理相关的SSL
49.5 自定义管理服务器地址
49.6 禁用HTTP端点
49.7 HTTP health端点访问限制
50. 基于JMX的监控和管理
50.1 自定义MBean名称
50.2 禁用JMX端点
50.3 使用Jolokia通过HTTP实现JMX远程管理
51. 记录器
51.1 配置记录器
52. 度量指标
52.1 系统指标
52.2 数据源指标
52.3 缓存指标
52.4 Tomcat session指标
52.5 记录自己的指标
52.6 添加自己的公共指标
52.7 指标写入,导出和聚合
52.8 聚合多个来源的指标
52.9 Dropwizard指标
52.10 消息渠道集成
53. 审计
54. 追踪
54.1 自定义追踪
55. 进程监控
55.1 扩展配置
55.2 以编程方式
56. Cloud Foundry支持
56.1 禁用扩展的Cloud Foundry执行器支持
56.2 Cloud Foundry自签名证书
56.3 自定义安全配置
57. 接下来阅读什么
VI. 部署到云端
58. 部署到云端
58.1 Cloud Foundry
58.2 Heroku
58.3 Openshift
58.4 亚马逊网络服务(AWS)
58.5 Boxfuse和亚马逊网络服务
58.6 Google App Engine
59. 安装Spring Boot应用
59.1 支持的操作系统
59.2 Unix/Linux服务
59.3 Microsoft Windows服务
60. 接下来阅读什么
VII. Spring Boot CLI
61. 安装CLI
62. 使用CLI
62.1 使用CLI运行应用
62.2 多源文件应用
62.3 应用打包
62.4 初始化新工程
62.5 使用内嵌shell
62.6 为CLI添加扩展
63. 使用Groovy beans DSL开发应用
64. 使用settings.xml配置CLI
65. 接下来阅读什么
VIII. 构建工具插件
66. Spring Boot Maven插件
66.1 包含该插件
66.2 打包可执行jar和war文件
67. Spring Boot Gradle插件
68. Spring Boot AntLib模块
68.1. Spring Boot Ant任务
68.2. spring-boot:findmainclass
69. 对其他构建系统的支持
69.1. 重新打包存档
69.2. 内嵌库
69.3. 查找main类
69.4. repackage实现示例
70. 接下来阅读什么
IX. How-to指南
71. Spring Boot应用
71.1 创建自己的FailureAnalyzer
71.2 解决自动配置问题
71.3 启动前自定义Environment或ApplicationContext
71.4 构建ApplicationContext层次结构
71.5 创建no-web应用
72. 属性&配置
72.1. 运行时暴露属性
72.2. 外部化SpringApplication配置
72.3 改变应用程序外部配置文件的位置
72.4 使用'short'命令行参数
72.5 使用YAML配置外部属性
72.6 设置生效的Spring profiles
72.7 根据环境改变配置
72.8 发现外部属性的内置选项
73. 内嵌servlet容器
73.1 为应用添加Servlet,Filter或Listener
73.2 改变HTTP端口
73.3 使用随机未分配的HTTP端口
73.4 发现运行时的HTTP端口
73.5 配置SSL
73.6 配置访问日志
73.7 在前端代理服务器后使用
73.8 配置Tomcat
73.9 启用Tomcat的多连接器
73.10 使用Tomcat的LegacyCookieProcessor
73.11 使用Jetty替代Tomcat
73.12 配置Jetty
73.13 使用Undertow替代Tomcat
73.14 配置Undertow
73.15 启用Undertow的多监听器
73.16 使用@ServerEndpoint创建WebSocket端点
73.17 启用HTTP响应压缩
74. Spring MVC
74.1 编写JSON REST服务
74.2 编写XML REST服务
74.3 自定义Jackson ObjectMapper
74.4 自定义@ResponseBody渲染
74.5 处理Multipart文件上传
74.6 关闭Spring MVC DispatcherServlet
74.7 关闭默认的MVC配置
74.8 自定义ViewResolvers
75. HTTP客户端
75.1 配置RestTemplate使用代理
76. 日志
76.1 配置Logback
76.2 配置Log4j
77. 数据访问
77.1 配置自定义的数据源
77.2 配置两个数据源
77.3 使用Spring Data仓库
77.4 从Spring配置分离@Entity定义
77.5 配置JPA属性
77.6 配置Hibernate命名策略
77.7 使用自定义EntityManagerFactory
77.8 使用两个EntityManagers
77.9 使用普通的persistence.xml
77.10 使用Spring Data JPA和Mongo仓库
77.11 将Spring Data仓库暴露为REST端点
77.12 配置JPA使用的组件
78. 数据库初始化
78.1 使用JPA初始化数据库
78.2 使用Hibernate初始化数据库
78.3 使用Spring JDBC初始化数据库
78.4 初始化Spring Batch数据库
78.5 使用高级数据迁移工具
79. 消息传送
79.1 禁用事务JMS会话
80. 批处理应用
80.1 在启动时执行Spring Batch作业
81. 执行器
81.1 改变HTTP端口或执行器端点的地址
81.2 自定义WhiteLabel错误页面
81.3 Actuator和Jersey
82. 安全
82.1 关闭Spring Boot安全配置
82.2 改变AuthenticationManager并添加用户账号
82.3 当前端使用代理服务器时启用HTTPS
83. 热交换
83.1 重新加载静态内容
83.2. 在不重启容器的情况下重新加载模板
83.3 应用快速重启
83.4 在不重启容器的情况下重新加载Java类
84. 构建
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 使用Ant构建可执行存档(不使用spring-boot-antlib)
85. 传统部署
85.1 创建可部署的war文件
85.2 为老的servlet容器创建可部署的war文件
85.3 将现有的应用转换为Spring Boot
85.4 部署WAR到Weblogic
85.5 部署WAR到老的(Servlet2.5)容器
85.6 使用Lettuce来代替Jedis
X.附录
附录A. 常见应用属性
附录B. 配置元数据
附录B.1. 元数据格式
附录B.2. 提供人工提示
附录B.3. 使用注解处理器产生自己的元数据
附录C. 自动配置类
附录 C.1. 来自spring-boot-autoconfigure模块
附录C.2. 来自spring-boot-actuator模块
附录D. 测试自动配置的标注
附录E. 可执行jar格式
附录E.1. 内嵌JARs
附录E.2. Spring Boot的"JarFile"类
附录E.3. 启动可执行jars
附录E.4. PropertiesLauncher特性
附录E.5. 可执行jar的限制
附录E.6. 可替代的单一jar解决方案
附录F. 依赖版本
目錄 Introduction 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 1.1 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.3 1.3.1 1.3.2 1.3.2.1 1.3.3 1.3.3.1 1.3.3.1.1 1.3.3.1.2 1.3.3.2 1.3.3.2.1 1.3.3.2.2 1.3.3.2.3 1.3.3.2.4 1.3.3.2.5 1.3.3.2.6 1.3.3.3 1.3.4 1.3.4.1 1
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. 构建系统 13.1. 依赖管理 13.2. Maven 13.2.1. 继承starter parent 13.2.2. 在不使用parent POM的情况下玩转Spring Boot 13.2.3. 使用Spring Boot Maven插件 13.3. Gradle 13.4. Ant 13.5. Starters 14. 组织你的代码 14.1. 使用"default"包 14.2. 放置应用的main类 15. 配置类 15.1. 导入其他配置类 15.2. 导入XML配置 16. 自动配置 16.1. 逐步替换自动配置 16.2. 禁用特定的自动配置类 17. Spring Beans和依赖注入 18. 使用@SpringBootApplication注解 19. 运行应用程序 1.3.4.2 1.3.4.3 1.3.4.3.1 1.3.4.3.2 1.3.4.3.3 1.3.4.4 1.3.4.5 1.3.4.6 1.4 1.4.1 1.4.1.1 1.4.1.2 1.4.1.2.1 1.4.1.2.3 1.4.1.2.2 1.4.1.3 1.4.1.4 1.4.1.5 1.4.2 1.4.2.1 1.4.2.2 1.4.3 1.4.3.1 1.4.3.2 1.4.4 1.4.4.1 1.4.4.2 1.4.5 1.4.6 1.4.7 2
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. 自定义restart类加载器 20.2.7. 已知限制 20.3. LiveReload 20.4. 全局设置 20.5. 远程应用 20.5.1. 运行远程客户端应用 20.5.2. 远程更新 21. 打包用于生产的应用 22. 接下来阅读什么 IV. Spring Boot特性 23. SpringApplication 23.1. 启动失败 23.2. 自定义Banner 23.3. 自定义SpringApplication 23.4. 流式构建API 23.5. 应用事件和监听器 23.6. Web环境 1.4.7.1 1.4.7.2 1.4.7.3 1.4.7.4 1.4.7.5 1.4.8 1.4.8.1 1.4.8.2 1.4.8.2.1 1.4.8.2.2 1.4.8.2.3 1.4.8.2.4 1.4.8.2.5 1.4.8.2.6 1.4.8.2.7 1.4.8.3 1.4.8.4 1.4.8.5 1.4.8.5.1 1.4.8.5.2 1.4.9 1.4.10 1.5 1.5.1 1.5.1.1 1.5.1.2 1.5.1.3 1.5.1.4 1.5.1.5 1.5.1.6 3
23.7. 访问应用参数 23.8. 使用ApplicationRunner或CommandLineRunner 23.9. 应用退出 23.10. Admin特性 24.外化配置 24.1. 配置随机值 24.2. 访问命令行属性 24.3. 应用属性文件 24.4. Profile-specific属性 24.5. 属性占位符 24.6. 使用YAML代替Properties 24.6.1. 加载YAML 24.6.2. 在Spring环境中使用YAML暴露属性 24.6.3. Multi-profile YAML文档 24.6.4. YAML缺点 24.6.5. 合并YAML列表 24.7. 类型安全的配置属性 24.7.1. 第三方配置 24.7.2. Relaxed绑定 24.7.3. 属性转换 24.7.4. @ConfigurationProperties校验 24.7.5. @ConfigurationProperties vs @Value 25. Profiles 25.1. 添加激活的profiles 25.2.以编程方式设置profiles 25.3. Profile-specific配置文件 26. 日志 26.1. 日志格式 26.2. 控制台输出 26.2.1. Color-coded输出 1.5.1.7 1.5.1.8 1.5.1.9 1.5.1.10 1.5.2 1.5.2.1 1.5.2.2 1.5.2.3 1.5.2.4 1.5.2.5 1.5.2.6 1.5.2.6.1 1.5.2.6.2 1.5.2.6.3 1.5.2.6.4 1.5.2.6.5 1.5.2.7 1.5.2.7.1 1.5.2.7.2 1.5.2.7.3 1.5.2.7.4 1.5.2.7.5 1.5.3 1.5.3.1 1.5.3.2 1.5.3.3 1.5.4 1.5.4.1 1.5.4.2 1.5.4.2.1 4
26.3. 文件输出 26.4. 日志级别 26.5. 自定义日志配置 26.6. Logback扩展 26.6.1. Profile-specific配置 26.6.2. Environment属性 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. 欢迎页 27.1.7. 定制网站图标 27.1.8. 路径匹配与内容协商 27.1.9. ConfigurableWebBindingInitializer 27.1.10. 模板引擎 27.1.11. 错误处理 27.1.12. Spring HATEOAS 27.1.13. CORS支持 27.2 Spring WebFlux框架 27.2.1 Spring WebFlux自动配置 27.2.2 HTTP编解码器——HttpMessageReaders与 HttpMessageWriters 27.2.3 静态内容 27.2.4 模板引擎 27.2.5 错误处理 27.2.6 网络过滤器 27.3. JAX-RS和Jersey 27.4 内嵌servlet容器支持 1.5.4.3 1.5.4.4 1.5.4.5 1.5.4.6 1.5.4.6.1 1.5.4.6.2 1.5.5 1.5.5.1 1.5.5.1.1 1.5.5.1.2 1.5.5.1.3 1.5.5.1.4 1.5.5.1.5 1.5.5.1.6 1.5.5.1.7 1.5.5.1.8 1.5.5.1.9 1.5.5.1.10 1.5.5.1.11 1.5.5.1.12 1.5.5.1.13 1.5.5.2 1.5.5.2.1 1.5.5.2.2 1.5.5.2.3 1.5.5.2.4 1.5.5.2.5 1.5.5.2.6 1.5.5.3 1.5.5.4 5
27.4.1 Servlets、Filters和listeners 27.4.2 Servlet上下文初始化 27.4.3 ServletWebServerApplicationContext 27.4.4 自定义内嵌servlet容器 27.4.5 JSP的限制 28. 安全 28.1 OAuth2 28.1.1 授权服务器 28.1.2 资源服务器 28.2 User Info中的Token类型 28.3 自定义User Info RestTemplate 28.3.1 客户端 28.3.2 单点登陆 28.4 Actuator安全 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. 在视图中打开实体管理器 29.4 使用H2的web控制台 29.4.1 改变H2控制台路径 29.4.2 保护H2控制台 29.5 使用jOOQ 29.5.1 代码生成 1.5.5.4.1 1.5.5.4.2 1.5.5.4.3 1.5.5.4.4 1.5.5.4.5 1.5.6 1.5.6.1 1.5.6.1.1 1.5.6.1.2 1.5.6.2 1.5.6.3 1.5.6.3.1 1.5.6.3.2 1.5.6.4 1.5.7 1.5.7.1 1.5.7.1.1 1.5.7.1.2 1.5.7.1.3 1.5.7.2 1.5.7.3 1.5.7.3.1 1.5.7.3.2 1.5.7.3.3 1.5.7.3.4 1.5.7.4 1.5.7.4.1 1.5.7.4.2 1.5.7.5 1.5.7.5.1 6
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. MongoDBTemplate 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 Elasticseach仓库 30.7 Cassandra 30.7.1 连接Cassandra 30.7.2 Spring Data Cassandra仓库 30.8 Couchbase 30.8.1 连接Couchbase 1.5.7.5.2 1.5.7.5.3 1.5.7.5.4 1.5.8 1.5.8.1 1.5.8.1.1 1.5.8.2 1.5.8.2.1 1.5.8.2.2 1.5.8.2.3 1.5.8.2.4 1.5.8.3 1.5.8.3.1 1.5.8.3.2 1.5.8.3.3 1.5.8.3.4 1.5.8.3.5 1.5.8.4 1.5.8.5 1.5.8.5.1 1.5.8.5.2 1.5.8.6 1.5.8.6.1 1.5.8.6.2 1.5.8.6.3 1.5.8.7 1.5.8.7.1 1.5.8.7.2 1.5.8.8 1.5.8.8.1 7
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 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 Simple 31.1.10 None 32. 消息 32.1. JMS 32.1.1 ActiveQ支持 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 接收消息 1.5.8.8.2 1.5.8.9 1.5.8.9.1 1.5.8.9.2 1.5.8.9.3 1.5.8.10 1.5.8.10.1 1.5.9 1.5.9.1 1.5.9.1.1 1.5.9.1.2 1.5.9.1.3 1.5.9.1.4 1.5.9.1.5 1.5.9.1.6 1.5.9.1.7 1.5.9.1.8 1.5.9.1.9 1.5.9.1.10 1.5.10 1.5.10.1 1.5.10.1.1 1.5.10.1.2 1.5.10.1.3 1.5.10.1.4 1.5.10.1.5 1.5.10.2 1.5.10.2.1 1.5.10.2.2 1.5.10.2.3 8
分享到:
收藏