Spring Boot文档(001)-目录

Spring Boot 参考指南

作者

Phillip Webb, Dave Syer, Josh Long, Stéphane Nicoll, Rob Winch, Andy Wilkinson, Marcel Overdijk, Christian Dupuis, Sébastien Deleuze, Michael Simons
1.5.6.RELEASE
Copyright © 2012-2017
文档可自己使用或发给别人,印刷或电子形式都可以,但必须包含版本声明,不可用来盈利。

目录


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. Upgrading from an earlier version of 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. 继承 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. 启动器
    14. 构建代码
        14.1. 使用“default”包
        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. 远程更新
            20.5.3. 远程调试隧道
    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. 管理功能
    24. E外部配置
        24.1. 配置随机值
        24.2. 访问命令行属性
        24.3. 应用程序配置文件
        24.4. 配置文件特定属性
        24.5. 配置文件中的占位符
        24.6. 用YAML文件替代Properties文件
            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. 配置文件
        25.1. 添加活动配置文件
        25.2. 以编程方式配置文件
        25.3. 指定的配置文件
    26. 日志
        26.1. 日志格式
        26.2. 控制台输出
            26.2.1. 彩色编码输出
        26.3. 文件输出
        26.4. 日志级别
        26.5. 自定义日志配置
        26.6. 日志扩展
            26.6.1. 指定配置文件配置
            26.6.2. 环境属性
    27. 开发web应用程序
        27.1. Spring Web MVC framework
            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以外的错误页面
                WebSphere Application Server的错误处理
            27.1.10. Spring HATEOAS
            27.1.11. CORS支持
        27.2. JAX-RS 和 Jersey
        27.3. 嵌入式servlet容器支持
            27.3.1. Servlets, 过滤器, 和监听器
                Servlets筛选器, 过滤器, 和Spring beans监听器
            27.3.2. Servlet 上下文初始化
                Servlets, 过滤器, 和监听器
            27.3.3. EmbeddedWebApplicationContext
            27.3.4. 定制嵌入式servlet容器
                程序定制
                直接自定义ConfigurableEmbeddedServletContainer
            27.3.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. 配置一个数据源
            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 Repositories
            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
    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服务器
    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. Guava (deprecated)
            31.1.10. Simple
            31.1.11. None
    32. 消息传递
        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. 验证
    35. 发送电子邮件
    36. JTA分布式事务
        36.1. 使用Atomikos事务管理器
        36.2. 使用Bitronix 事务管理器
        36.3. 使用Narayana事务管理器
        36.4. 使用Java EE管理的事务管理器
        36.5. 混合XA 和 non-XA JMS连接
        36.6. 支持可选的嵌入式事务管理器
    37. Hazelcast
    38. Spring集成
    39. Spring Session
    40. JMX监督管理
    41. 测试
        41.1. 测试范围的依赖
        41.2. 测试Spring应用程序
        41.3. 测试 Spring Boot应用程序
            41.3.1. 检测测试配置
            41.3.2. 排除测试配置
            41.3.3. 使用随机端口
            41.3.4. MockBean和SpyBean
            41.3.5. 自动配置测试
            41.3.6. 自动配置的JSON测试
            41.3.7. 自动配置的Spring MVC测试
            41.3.8. 自动配置的Data JPA测试
            41.3.9. 自动配置的 JDBC测试
            41.3.10. 自动配置 Data MongoDB测试
            41.3.11. 自动配置 REST客户端
            41.3.12. 自动配置的Spring REST文档测试
            41.3.13. 使用Spock来测试Spring Boot应用程序
        41.4. 测试工具
            41.4.1. ConfigFileApplicationContextInitializer
            41.4.2. EnvironmentTestUtils
            41.4.3. OutputCapture
            41.4.4. TestRestTemplate
    42. WebSockets
    43. Web Services
    44. 创建自己的自动配置
        44.1. 了解自动配置beans
        44.2. 查找自动配置候选
        44.3. 条件注入
            44.3.1. Class条件
            44.3.2. Bean 条件
            44.3.3. Property 条件
            44.3.4. Resource 条件
            44.3.5. Web 应用程序条件
            44.3.6. SpEL表达式条件
        44.4. 创建自己的启动器
            44.4.1. 命名
            44.4.2. 自动配置模块
            44.4.3. 启动器模块
    45. 接下来读什么
V. Spring Boot Actuator: 生产就绪功能
    46. 启用生产就绪功能
    47. 端点
        47.1. 自定义端点
        47.2. Hypermedia for actuator MVC端点
        47.3. CORS 支持
        47.4. 添加自定义端点
        47.5. 健康信息
        47.6. 安全健康指标
            47.6.1. 自动配置安全健康指标
            47.6.2. 编写自定义安全健康指标
        47.7. 应用信息
            47.7.1. 自动配置InfoContributors
            47.7.2. 自定义应用信息的说明
            47.7.3. Git提交信息
            47.7.4. 构建信息
            47.7.5. 编写自定义InfoContributors
    48. 通过HTTP进行监控和管理
        48.1. 访问敏感端点
        48.2. 自定义管理端点路径
        48.3. 自定义管理服务器端口
        48.4.     配置指定管理的SSL
        48.5. 自定义管理服务器地址
        48.6. 禁用HTTP端点
        48.7. HTTP健康端点格式和访问限制
    49. 监测和管理JMX
        49.1. 自定义MBean名称
        49.2. 禁用JMX端点
        49.3. 通过HTTP使用Jolokia for JMX
            49.3.1. 自定义Jolokia
            49.3.2. 禁用Jolokia
    50. 使用远程shell进行见识和管理(不建议使用)
        50.1. 链接到远程shell
            50.1.1. 远程shell凭据
        50.2. 扩展远程shell
            50.2.1. 远程shell命令
            50.2.2. 远程shell插件
    51. Loggers
        51.1. 配置一个Logger
    52. 指标
        52.1. 系统指标
        52.2. 数据源指标
        52.3. 缓存指标
        52.4. Tomcat session指标
        52.5. 记录自己的指标
        52.6. 添加自己的公共指标
        52.7. Java8的特色功能
        52.8. Metric writers, exporters 和 aggregation
            52.8.1. 示例: 导出到Redis
            52.8.2. 示例: 导出到Open TSDB
            52.8.3. 示例: 导出到Statsd
            52.8.4. 示例: 导出到JMX
        52.9. 聚合来自多个源的指标
        52.10. Dropwizard指标
        52.11. 消息渠道集成
    53. 审计
    54. 跟踪
        54.1. Custom tracing
    55. 进程监控Process monitoring
        55.1. 扩展配置
        55.2. 变成方式
    56. Cloud Foundry支持
        56.1. 禁用扩展的Cloud Foundry执行器支持
        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平台
                最佳做法
            58.4.2. 概要
        58.5. Boxfuse 和 Amazon Web Services
        58.6. Google Cloud
    59. 安装 Spring Boot应用程序
        59.1. 支持的操作系统
        59.2. Unix/Linux服务
            59.2.1. 作为init.d服务安装(System 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. Deduced “grab” dependencies
            62.1.2. Deduced “grab” coordinates
            62.1.3. 默认导入语句
            62.1.4. 自动主方法
            62.1.5. 自定义依赖管理
        62.2. 测试代码
        62.3. 具有多个源文件的应用程序
        62.4. 打包你的应用程序
        62.5. 初始化一个新项目
        62.6. 使用嵌入式shell
        62.7. 添加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 插件
        67.1. 包括插件
        67.2. Gradle依赖管理
        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来生成继承依赖关系管理的pom
            67.9.2. 配置Gradle来生成导入依赖管理管理的pom
    68. Spring Boot AntLib模块
        68.1. Spring Boot Ant 任务
            68.1.1. spring-boot:exejar
            68.1.2. 示例
        68.2. spring-boot:findmainclass
            68.2.1. 示例
    69. 支持其他构建系统
        69.1. 重新打包档案文件
        69.2. 嵌套库
        69.3. 查询主类
        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. 使用‘short’命令行参数
        72.5. 使用YAML作为外部属性
        72.6. 设置活动的Spring配置文件
        72.7. 根据环境更改配置
        72.8. 发现外部属性的内置选项
    73. 嵌入式servlet容器
        73.1. 将Servlet, 过滤器或监听器添加到应用程序
            73.1.1. 使用Spring bean添加一个Servlet, Filter or Listener
                禁用注册一个Servlet or Filter
            73.1.2. 使用类路径扫描添加Servlets, Filters, and Listeners
        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
        73.12. 配置Jetty
        73.13. 使用Undertow
        73.14. 配置 Undertow
        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 or 8.0 与 Gradle
        73.17. 使用 Jetty 9.2
            73.17.1. 使用 Jetty 9.2 与 Maven
            73.17.2. 使用 Jetty 9.2 与 Gradle
        73.18. 使用 Jetty 8
            73.18.1. 使用Jetty 8 与 Maven
            73.18.2. 使用Jetty 8 与 Gradle
        73.19. 用@ServerEndpoint创建 WebSocket端点
        73.20. 启用HTTP响应亚索
    74. Spring MVC
        74.1. 写一个JSONREST服务
        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客户端
        75.1. 用代理配置RestTemplate
    76. 日志
        76.1. 配置Logback进行日志记录
            76.1.1. 配置logback只输出到文件
        76.2. 配置Log4j进行日志记录
            76.2.1. 使用YAML 或 JSON配置Log4j 2
    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. 使用更高级别的数据库迁移工具
            78.5.1. 启动时执行Flyway数据库迁移
            78.5.2. 启动时执行Liquibase数据库迁移
    79. 消息传递
        79.1. 禁用事务的JMS session
    80. 批处理
        80.1. 启动时执行Spring Batch工作
    81. Actuator
        81.1. 更改执行端的HTTP 端口或地址
        81.2. 自定义‘白名单’的错误页面
        81.3. Actuator 和 Jersey
    82. 安全
        82.1. 关闭Spring Boot的安全配置
        82.2. 改变AuthenticationManager并添加用户账号
        82.3. 代理服务器运行时启用HTTPS
    83. 热插拔
        83.1. 重载静态内容
        83.2. 重载模板而不重启容器
            83.2.1. Thymeleaf模板
            83.2.2. FreeMarker 模板
            83.2.3. Groovy模板
        83.3. 快速重启应用程序
        83.4. 重载Java类而不重启容器
            83.4.1. 用Maven配置Spring加载 for use with Maven
            83.4.2. 用Gradle and IntelliJ IDE配置Spring加载
    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. 远程调试从Gradle开始的 Spring Boot程序
        84.10. 用Ant而不用spring-boot-antlib构建一个可执行存档
        84.11. 如何使用Java6
            84.11.1. 嵌入式servlet的兼容性
            84.11.2. Jackson
            84.11.3. JTA API兼容性
    85. 传统部署
        85.1. 创建一个可部署的war文件
        85.2. 创建一个适用旧版servlet容器的war文件
        85.3. 将现有的应用程序转换尉Spring Boot
        85.4. 将WAR部署到WebLogic
        85.5. 在旧容器(Servlet 2.5)中部署war

 

转载于:https://my.oschina.net/u/128964/blog/1517580

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值