{"version":1,"pages":[{"id":"-Lc65IOswqmkdG2uo-6B","title":"Introduction","pathname":"/spring-boot","siteSpaceId":"sitesp_Vs35t","description":""},{"id":"-Lc65pk8SVSCMFzKK0ag","title":"I. Spring Boot文档","pathname":"/spring-boot/i.-spring-boot-documentation","siteSpaceId":"sitesp_Vs35t","description":""},{"id":"-Lc65pk9k6AjeQyY7ztO","title":"1. 关于本文档","pathname":"/spring-boot/i.-spring-boot-documentation/1.-about-the-documentation","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"I. Spring Boot文档"}]},{"id":"-Lc65pl3g8CfYRAPtEYA","title":"2. 获取帮助","pathname":"/spring-boot/i.-spring-boot-documentation/2.-getting-help","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"I. Spring Boot文档"}]},{"id":"-Lc65pl4YrZQjrRneuPt","title":"3. 第一步","pathname":"/spring-boot/i.-spring-boot-documentation/3.-first-steps","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"I. Spring Boot文档"}]},{"id":"-Lc65pl5ebjHiD9-xltf","title":"4. 使用Spring Boot","pathname":"/spring-boot/i.-spring-boot-documentation/4.-working-with-spring-boot","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"I. Spring Boot文档"}]},{"id":"-Lc65pl6hAx0g_uM31d3","title":"5. 了解Spring Boot特性","pathname":"/spring-boot/i.-spring-boot-documentation/5.-learning-about-spring-boot-features","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"I. Spring Boot文档"}]},{"id":"-Lc65pl7OmUu3RTIao_4","title":"6. 迁移到生产环境","pathname":"/spring-boot/i.-spring-boot-documentation/6.-moving-to-production","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"I. Spring Boot文档"}]},{"id":"-Lc65pl8R00PkOGt9aBo","title":"7. 高级主题","pathname":"/spring-boot/i.-spring-boot-documentation/7.-advanced-topics","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"I. Spring Boot文档"}]},{"id":"-Lc65pl991ECysWgmX5E","title":"II. 开始","pathname":"/spring-boot/ii.-getting-started","siteSpaceId":"sitesp_Vs35t","description":""},{"id":"-Lc65plAv_qh-G8Nbrsp","title":"8. Spring Boot介绍","pathname":"/spring-boot/ii.-getting-started/8.-introducing-spring-boot","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"II. 开始"}]},{"id":"-Lc65plB_rze5tdWvCAM","title":"9. 系统要求","pathname":"/spring-boot/ii.-getting-started/9.-system-requirements","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"II. 开始"}]},{"id":"-Lc65plCSgpyV6z-x9Ml","title":"9.1. Servlet容器","pathname":"/spring-boot/ii.-getting-started/9.-system-requirements/9.1.-servlet-containers","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"II. 开始"},{"label":"9. 系统要求"}]},{"id":"-Lc65plDJ257bJHmcygK","title":"10. Spring Boot安装","pathname":"/spring-boot/ii.-getting-started/10.-installing-spring-boot","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"II. 开始"}]},{"id":"-Lc65plE5t1IgBTJjaEg","title":"10.1. 为Java开发者准备的安装指南","pathname":"/spring-boot/ii.-getting-started/10.-installing-spring-boot/10.1.-installation-instructions-for-the-java-developer","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"II. 开始"},{"label":"10. Spring Boot安装"}]},{"id":"-Lc65plFCJij46HF6-Fa","title":"10.1.1. Maven安装","pathname":"/spring-boot/ii.-getting-started/10.-installing-spring-boot/10.1.-installation-instructions-for-the-java-developer/10.1.1.-maven-installation","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"II. 开始"},{"label":"10. Spring Boot安装"},{"label":"10.1. 为Java开发者准备的安装指南"}]},{"id":"-Lc65plGP7qrR88chono","title":"10.1.2. Gradle安装","pathname":"/spring-boot/ii.-getting-started/10.-installing-spring-boot/10.1.-installation-instructions-for-the-java-developer/10.1.2.-gradle-installation","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"II. 开始"},{"label":"10. Spring Boot安装"},{"label":"10.1. 为Java开发者准备的安装指南"}]},{"id":"-Lc65plHAFJJnxMDn1zu","title":"10.2. Spring Boot CLI安装","pathname":"/spring-boot/ii.-getting-started/10.-installing-spring-boot/10.2.-installing-the-spring-boot-cli","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"II. 开始"},{"label":"10. Spring Boot安装"}]},{"id":"-Lc65plIo9c9Jcio-QgE","title":"10.2.1. 手动安装","pathname":"/spring-boot/ii.-getting-started/10.-installing-spring-boot/10.2.-installing-the-spring-boot-cli/10.2.1.-manual-installation","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"II. 开始"},{"label":"10. Spring Boot安装"},{"label":"10.2. Spring Boot CLI安装"}]},{"id":"-Lc65plJVsbekBfZRIkU","title":"10.2.2. 使用SDKMAN进行安装","pathname":"/spring-boot/ii.-getting-started/10.-installing-spring-boot/10.2.-installing-the-spring-boot-cli/10.2.2.-installation-with-sdkman","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"II. 开始"},{"label":"10. Spring Boot安装"},{"label":"10.2. Spring Boot CLI安装"}]},{"id":"-Lc65plKYyH-s5ydA2gB","title":"10.2.3. 使用OSX Homebrew进行安装","pathname":"/spring-boot/ii.-getting-started/10.-installing-spring-boot/10.2.-installing-the-spring-boot-cli/10.2.3.-osx-homebrew-installation","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"II. 开始"},{"label":"10. Spring Boot安装"},{"label":"10.2. Spring Boot CLI安装"}]},{"id":"-Lc65plL-adCWfLn4tDR","title":"10.2.4. 使用MacPorts进行安装","pathname":"/spring-boot/ii.-getting-started/10.-installing-spring-boot/10.2.-installing-the-spring-boot-cli/10.2.4.-macports-installation","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"II. 开始"},{"label":"10. Spring Boot安装"},{"label":"10.2. Spring Boot CLI安装"}]},{"id":"-Lc65plMZSMA5P8IqhHC","title":"10.2.5. 命令行实现","pathname":"/spring-boot/ii.-getting-started/10.-installing-spring-boot/10.2.-installing-the-spring-boot-cli/10.2.5.-command-line-completion","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"II. 开始"},{"label":"10. Spring Boot安装"},{"label":"10.2. Spring Boot CLI安装"}]},{"id":"-Lc65plNee-LLx6ZrZoV","title":"10.2.6. Spring CLI示例快速入门","pathname":"/spring-boot/ii.-getting-started/10.-installing-spring-boot/10.2.-installing-the-spring-boot-cli/10.2.6.-quick-start-spring-cli-example","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"II. 开始"},{"label":"10. Spring Boot安装"},{"label":"10.2. Spring Boot CLI安装"}]},{"id":"-Lc65plO3M-f9mk7MddU","title":"10.3. 从Spring Boot早期版本升级","pathname":"/spring-boot/ii.-getting-started/10.-installing-spring-boot/10.3.-upgrading-from-an-earlier-version-of-spring-boot","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"II. 开始"},{"label":"10. Spring Boot安装"}]},{"id":"-Lc65plPzvBfbbM00jGd","title":"11. 开发你的第一个Spring Boot应用","pathname":"/spring-boot/ii.-getting-started/11.-developing-your-first-spring-boot-application","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"II. 开始"}]},{"id":"-Lc65plQryPp8Cu8HlaZ","title":"11.1. 创建POM","pathname":"/spring-boot/ii.-getting-started/11.-developing-your-first-spring-boot-application/11.1.-creating-the-pom","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"II. 开始"},{"label":"11. 开发你的第一个Spring Boot应用"}]},{"id":"-Lc65plRfvF5zH_My22k","title":"11.2. 添加classpath依赖","pathname":"/spring-boot/ii.-getting-started/11.-developing-your-first-spring-boot-application/11.2.-adding-classpath-dependencies","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"II. 开始"},{"label":"11. 开发你的第一个Spring Boot应用"}]},{"id":"-Lc65plSTv0ayIbGRZZm","title":"11.3. 编写代码","pathname":"/spring-boot/ii.-getting-started/11.-developing-your-first-spring-boot-application/11.3.-writing-the-code","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"II. 开始"},{"label":"11. 开发你的第一个Spring Boot应用"}]},{"id":"-Lc65plT5_xGg7Z3dG_L","title":"11.3.1. @RestController和@RequestMapping注解","pathname":"/spring-boot/ii.-getting-started/11.-developing-your-first-spring-boot-application/11.3.-writing-the-code/11.3.1.-the-restcontroller-and-requestmapping-annotations","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"II. 开始"},{"label":"11. 开发你的第一个Spring Boot应用"},{"label":"11.3. 编写代码"}]},{"id":"-Lc65plUr7E-ksNIOZrS","title":"11.3.2. @EnableAutoConfiguration注解","pathname":"/spring-boot/ii.-getting-started/11.-developing-your-first-spring-boot-application/11.3.-writing-the-code/11.3.2.-the-enableautoconfiguration-annotation","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"II. 开始"},{"label":"11. 开发你的第一个Spring Boot应用"},{"label":"11.3. 编写代码"}]},{"id":"-Lc65plV5nfh3eCGSpIn","title":"11.3.3. main方法","pathname":"/spring-boot/ii.-getting-started/11.-developing-your-first-spring-boot-application/11.3.-writing-the-code/11.3.3.-the-main-method","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"II. 开始"},{"label":"11. 开发你的第一个Spring Boot应用"},{"label":"11.3. 编写代码"}]},{"id":"-Lc65plWHYfmyhMlWFDk","title":"11.4. 运行示例","pathname":"/spring-boot/ii.-getting-started/11.-developing-your-first-spring-boot-application/11.4.-running-the-example","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"II. 开始"},{"label":"11. 开发你的第一个Spring Boot应用"}]},{"id":"-Lc65plXQUE_-Hhq0eKM","title":"11.5. 创建一个可执行jar","pathname":"/spring-boot/ii.-getting-started/11.-developing-your-first-spring-boot-application/11.5.-creating-an-executable-jar","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"II. 开始"},{"label":"11. 开发你的第一个Spring Boot应用"}]},{"id":"-Lc65plY_7JH7b5Z-adC","title":"12. 接下来阅读什么","pathname":"/spring-boot/ii.-getting-started/11.-developing-your-first-spring-boot-application/12.-what-to-read-next","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"II. 开始"},{"label":"11. 开发你的第一个Spring Boot应用"}]},{"id":"-Lc65plZav42XrnoWgHe","title":"III. 使用Spring Boot","pathname":"/spring-boot/iii.-using-spring-boot","siteSpaceId":"sitesp_Vs35t","description":""},{"id":"-Lc65pl_6m1rjlAxW8BN","title":"13. 构建系统","pathname":"/spring-boot/iii.-using-spring-boot/13.-build-systems","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"}]},{"id":"-Lc65pla-iJr7nnjI4HB","title":"13.1. 依赖管理","pathname":"/spring-boot/iii.-using-spring-boot/13.-build-systems/13.1.-dependency-management","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"},{"label":"13. 构建系统"}]},{"id":"-Lc65plbcY7tuwJbxS1e","title":"13.2. Maven","pathname":"/spring-boot/iii.-using-spring-boot/13.-build-systems/13.2.-maven","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"},{"label":"13. 构建系统"}]},{"id":"-Lc65plcjdgbVxgY1t9Z","title":"13.2.1. 继承starter parent","pathname":"/spring-boot/iii.-using-spring-boot/13.-build-systems/13.2.-maven/13.2.1.-inheriting-the-starter-parent","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"},{"label":"13. 构建系统"},{"label":"13.2. Maven"}]},{"id":"-Lc65pldD85S4fQS7eRl","title":"13.2.2. 在不使用parent POM的情况下玩转Spring Boot","pathname":"/spring-boot/iii.-using-spring-boot/13.-build-systems/13.2.-maven/13.2.2.-using-spring-boot-without-the-parent-pom","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"},{"label":"13. 构建系统"},{"label":"13.2. Maven"}]},{"id":"-Lc65ple5VHooZ1lsgYY","title":"13.2.3. 使用Spring Boot Maven插件","pathname":"/spring-boot/iii.-using-spring-boot/13.-build-systems/13.2.-maven/13.2.3.-using-the-spring-boot-maven-plugin","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"},{"label":"13. 构建系统"},{"label":"13.2. Maven"}]},{"id":"-Lc65plf52Ax-V-gkAiq","title":"13.3. Gradle","pathname":"/spring-boot/iii.-using-spring-boot/13.-build-systems/13.3.-gradle","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"},{"label":"13. 构建系统"}]},{"id":"-Lc65plgfmKVJH-7E6w4","title":"13.4. Ant","pathname":"/spring-boot/iii.-using-spring-boot/13.-build-systems/13.4.-ant","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"},{"label":"13. 构建系统"}]},{"id":"-Lc65plhP6FcHTuK4x8x","title":"13.5. Starters","pathname":"/spring-boot/iii.-using-spring-boot/13.-build-systems/13.5.-starters","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"},{"label":"13. 构建系统"}]},{"id":"-Lc65plioSTwqTAlNukx","title":"14. 组织你的代码","pathname":"/spring-boot/iii.-using-spring-boot/14.-structuring-your-code","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"}]},{"id":"-Lc65pljbTUuyUAaj-TZ","title":"14.1. 使用\"default\"包","pathname":"/spring-boot/iii.-using-spring-boot/14.-structuring-your-code/14.1.-using-the-default-package","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"},{"label":"14. 组织你的代码"}]},{"id":"-Lc65plkXfHxe60FtZX1","title":"14.2. 放置应用的main类","pathname":"/spring-boot/iii.-using-spring-boot/14.-structuring-your-code/14.2.-locating-the-main-application-class","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"},{"label":"14. 组织你的代码"}]},{"id":"-Lc65pllggMxgQ-WZ2-N","title":"15. 配置类","pathname":"/spring-boot/iii.-using-spring-boot/15.-configuration-classes","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"}]},{"id":"-Lc65plmxpZTSB37j7Nx","title":"15.1. 导入其他配置类","pathname":"/spring-boot/iii.-using-spring-boot/15.-configuration-classes/15.1.-importing-additional-configuration-classes","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"},{"label":"15. 配置类"}]},{"id":"-Lc65plnivRG9o48ixn_","title":"15.2. 导入XML配置","pathname":"/spring-boot/iii.-using-spring-boot/15.-configuration-classes/15.2.-importing-xml-configuration","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"},{"label":"15. 配置类"}]},{"id":"-Lc65ploKtkQVB4SjZw8","title":"16. 自动配置","pathname":"/spring-boot/iii.-using-spring-boot/16.-auto-configuration","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"}]},{"id":"-Lc65plpEnjc_SgWNgWm","title":"16.1. 逐步替换自动配置","pathname":"/spring-boot/iii.-using-spring-boot/16.-auto-configuration/16.1.-gradually-replacing-auto-configuration","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"},{"label":"16. 自动配置"}]},{"id":"-Lc65plqnmjXA4vzn27I","title":"16.2. 禁用特定的自动配置类","pathname":"/spring-boot/iii.-using-spring-boot/16.-auto-configuration/16.2.-disabling-specific-auto-configuration-classes","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"},{"label":"16. 自动配置"}]},{"id":"-Lc65plrX0wG_h7YVlgv","title":"17. Spring Beans和依赖注入","pathname":"/spring-boot/iii.-using-spring-boot/17.-spring-beans-and-dependency-injection","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"}]},{"id":"-Lc65plsc2FaGk7ZO3ZC","title":"18. 使用@SpringBootApplication注解","pathname":"/spring-boot/iii.-using-spring-boot/18.-using-the-springbootapplication-annotation","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"}]},{"id":"-Lc65pltuvRKiPIzgnGs","title":"19. 运行应用程序","pathname":"/spring-boot/iii.-using-spring-boot/19.-running-your-application","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"}]},{"id":"-Lc65pluHPHh8-4Ik7Lj","title":"19.1. 从IDE中运行","pathname":"/spring-boot/iii.-using-spring-boot/19.-running-your-application/19.1.-running-from-an-ide","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"},{"label":"19. 运行应用程序"}]},{"id":"-Lc65plvlLVtuTVJ3f8U","title":"19.2. 作为一个打包后的应用运行","pathname":"/spring-boot/iii.-using-spring-boot/19.-running-your-application/19.2.-running-as-a-packaged-application","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"},{"label":"19. 运行应用程序"}]},{"id":"-Lc65plwP4kjYOKK1PWd","title":"19.3. 使用Maven插件运行","pathname":"/spring-boot/iii.-using-spring-boot/19.-running-your-application/19.3.-using-the-maven-plugin","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"},{"label":"19. 运行应用程序"}]},{"id":"-Lc65plxcljtJWpdiJam","title":"19.4. 使用Gradle插件运行","pathname":"/spring-boot/iii.-using-spring-boot/19.-running-your-application/19.4.-using-the-gradle-plugin","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"},{"label":"19. 运行应用程序"}]},{"id":"-Lc65plyjuQInoxIwF4g","title":"19.5. 热交换","pathname":"/spring-boot/iii.-using-spring-boot/19.-running-your-application/19.5.-hot-swapping","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"},{"label":"19. 运行应用程序"}]},{"id":"-Lc65plz8OXpPL9ZGj7v","title":"20. 开发者工具","pathname":"/spring-boot/iii.-using-spring-boot/20.-developer-tools","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"}]},{"id":"-Lc65pm-iVo0j3XNMfLa","title":"20.1. 默认属性","pathname":"/spring-boot/iii.-using-spring-boot/20.-developer-tools/20.1.-property-defaults","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"},{"label":"20. 开发者工具"}]},{"id":"-Lc65pm08IMcD9BO3rkF","title":"20.2. 自动重启","pathname":"/spring-boot/iii.-using-spring-boot/20.-developer-tools/20.2.-automatic-restart","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"},{"label":"20. 开发者工具"}]},{"id":"-Lc65pm1hC7DITZuWPgA","title":"20.2.1. 在状况评估里记录更改","pathname":"/spring-boot/iii.-using-spring-boot/20.-developer-tools/20.2.-automatic-restart/20.2.1.-logging-changes-in-condition-evaluation","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"},{"label":"20. 开发者工具"},{"label":"20.2. 自动重启"}]},{"id":"-Lc65pm2kSGV1v-y0kru","title":"20.2.2. 排除资源","pathname":"/spring-boot/iii.-using-spring-boot/20.-developer-tools/20.2.-automatic-restart/20.2.2.-excluding-resources","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"},{"label":"20. 开发者工具"},{"label":"20.2. 自动重启"}]},{"id":"-Lc65pm3_6d050-fu0XX","title":"20.2.3. 查看其他路径","pathname":"/spring-boot/iii.-using-spring-boot/20.-developer-tools/20.2.-automatic-restart/20.2.3.-watching-additional-paths","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"},{"label":"20. 开发者工具"},{"label":"20.2. 自动重启"}]},{"id":"-Lc65pm4vSRCLF9tSD47","title":"20.2.4. 禁用重启","pathname":"/spring-boot/iii.-using-spring-boot/20.-developer-tools/20.2.-automatic-restart/20.2.4.-disabling-restart","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"},{"label":"20. 开发者工具"},{"label":"20.2. 自动重启"}]},{"id":"-Lc65pm5T2nrIN5sqW2P","title":"20.2.5. 使用触发器文件","pathname":"/spring-boot/iii.-using-spring-boot/20.-developer-tools/20.2.-automatic-restart/20.2.5.-using-a-trigger-file","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"},{"label":"20. 开发者工具"},{"label":"20.2. 自动重启"}]},{"id":"-Lc65pm6qJ1iBGKJFfXn","title":"20.2.6. 自定义restart类加载器","pathname":"/spring-boot/iii.-using-spring-boot/20.-developer-tools/20.2.-automatic-restart/20.2.6.-customizing-the-restart-classloader","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"},{"label":"20. 开发者工具"},{"label":"20.2. 自动重启"}]},{"id":"-Lc65pm7y1ouQKk6jcPD","title":"20.2.7. 已知限制","pathname":"/spring-boot/iii.-using-spring-boot/20.-developer-tools/20.2.-automatic-restart/20.2.7.-known-limitations","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"},{"label":"20. 开发者工具"},{"label":"20.2. 自动重启"}]},{"id":"-Lc65pm8vXBwG5Zwwb_e","title":"20.3. LiveReload","pathname":"/spring-boot/iii.-using-spring-boot/20.-developer-tools/20.3.-livereload","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"},{"label":"20. 开发者工具"}]},{"id":"-Lc65pm9maoRaAa1kL_R","title":"20.4. 全局设置","pathname":"/spring-boot/iii.-using-spring-boot/20.-developer-tools/20.4.-global-settings","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"},{"label":"20. 开发者工具"}]},{"id":"-Lc65pmA40f-BEkiVD_m","title":"20.5. 远程应用","pathname":"/spring-boot/iii.-using-spring-boot/20.-developer-tools/20.5.-remote-applications","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"},{"label":"20. 开发者工具"}]},{"id":"-Lc65pmBu9IChgD0zhee","title":"20.5.1. 运行远程客户端应用","pathname":"/spring-boot/iii.-using-spring-boot/20.-developer-tools/20.5.-remote-applications/20.5.1.-running-the-remote-client-application","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"},{"label":"20. 开发者工具"},{"label":"20.5. 远程应用"}]},{"id":"-Lc65pmCqPaZyyvvHcuY","title":"20.5.2. 远程更新","pathname":"/spring-boot/iii.-using-spring-boot/20.-developer-tools/20.5.-remote-applications/20.5.2.-remote-update","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"},{"label":"20. 开发者工具"},{"label":"20.5. 远程应用"}]},{"id":"-Lc65pmDN-NoB9nm_WHb","title":"21. 打包用于生产的应用","pathname":"/spring-boot/iii.-using-spring-boot/21.-packaging-your-application-for-production","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"}]},{"id":"-Lc65pmEfZ8wN5KIsrV1","title":"22. 接下来阅读什么","pathname":"/spring-boot/iii.-using-spring-boot/22.-what-to-read-next","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"III. 使用Spring Boot"}]},{"id":"-Lc65pmFp593fhMd5Gm8","title":"IV. Spring Boot特性","pathname":"/spring-boot/iv.-spring-boot-features","siteSpaceId":"sitesp_Vs35t","description":""},{"id":"-Lc65pmGlxI5Ln42IWql","title":"23. SpringApplication","pathname":"/spring-boot/iv.-spring-boot-features/23.-springapplication","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"}]},{"id":"-Lc65pmHYTcpJGNJ6mZe","title":"23.1. 启动失败","pathname":"/spring-boot/iv.-spring-boot-features/23.-springapplication/23.1.-startup-failure","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"23. SpringApplication"}]},{"id":"-Lc65pmIcHlgiN1XdK9M","title":"23.2. 自定义Banner","pathname":"/spring-boot/iv.-spring-boot-features/23.-springapplication/23.2.-customizing-the-banner","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"23. SpringApplication"}]},{"id":"-Lc65pmJe9-mQkAbuniR","title":"23.3. 自定义SpringApplication","pathname":"/spring-boot/iv.-spring-boot-features/23.-springapplication/23.3.-customizing-springapplication","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"23. SpringApplication"}]},{"id":"-Lc65pmKsW3lIprVk0yU","title":"23.4. 流式构建API","pathname":"/spring-boot/iv.-spring-boot-features/23.-springapplication/23.4.-fluent-builder-api","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"23. SpringApplication"}]},{"id":"-Lc65pmLXTBstr4ao5eS","title":"23.5. 应用事件和监听器","pathname":"/spring-boot/iv.-spring-boot-features/23.-springapplication/23.5.-application-events-and-listeners","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"23. SpringApplication"}]},{"id":"-Lc65pmM6bvj-E4NaWT-","title":"23.6. Web环境","pathname":"/spring-boot/iv.-spring-boot-features/23.-springapplication/23.6.-web-environment","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"23. SpringApplication"}]},{"id":"-Lc65pmN9jAXse1U0ODG","title":"23.7. 访问应用参数","pathname":"/spring-boot/iv.-spring-boot-features/23.-springapplication/23.7.-accessing-application-arguments","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"23. SpringApplication"}]},{"id":"-Lc65pmOVRmGTXZxG6pQ","title":"23.8. 使用ApplicationRunner或CommandLineRunner","pathname":"/spring-boot/iv.-spring-boot-features/23.-springapplication/23.8.-using-the-applicationrunner-or-commandlinerunner","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"23. SpringApplication"}]},{"id":"-Lc65pmP19LkYuaw5vGn","title":"23.9. 应用退出","pathname":"/spring-boot/iv.-spring-boot-features/23.-springapplication/23.9.-application-exit","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"23. SpringApplication"}]},{"id":"-Lc65pmQ3Wyvqxpv72TO","title":"23.10. Admin特性","pathname":"/spring-boot/iv.-spring-boot-features/23.-springapplication/23.10.-admin-features","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"23. SpringApplication"}]},{"id":"-Lc65pmRBcypVlX5U0mW","title":"24.外化配置","pathname":"/spring-boot/iv.-spring-boot-features/24.-externalized-configuration","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"}]},{"id":"-Lc65pmSVq8JavXow5mZ","title":"24.1. 配置随机值","pathname":"/spring-boot/iv.-spring-boot-features/24.-externalized-configuration/24.1.-configuring-random-values","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"24.外化配置"}]},{"id":"-Lc65pmTjG54uA_ZujKU","title":"24.2. 访问命令行属性","pathname":"/spring-boot/iv.-spring-boot-features/24.-externalized-configuration/24.2.-accessing-command-line-properties","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"24.外化配置"}]},{"id":"-Lc65pmUhwwmj7Q6cl9D","title":"24.3. 应用属性文件","pathname":"/spring-boot/iv.-spring-boot-features/24.-externalized-configuration/24.3.-application-property-files","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"24.外化配置"}]},{"id":"-Lc65pmVgW01JYohXr8J","title":"24.4. Profile-specific属性","pathname":"/spring-boot/iv.-spring-boot-features/24.-externalized-configuration/24.4.-profile-specific-properties","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"24.外化配置"}]},{"id":"-Lc65pmWWiII6-cVbyN5","title":"24.5. 属性占位符","pathname":"/spring-boot/iv.-spring-boot-features/24.-externalized-configuration/24.5.-placeholders-in-properties","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"24.外化配置"}]},{"id":"-Lc65pmXQBrCCSOGHo0a","title":"24.6. 使用YAML代替Properties","pathname":"/spring-boot/iv.-spring-boot-features/24.-externalized-configuration/24.6.-using-yaml-instead-of-properties","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"24.外化配置"}]},{"id":"-Lc65pmYHX9526xbH3ze","title":"24.6.1. 加载YAML","pathname":"/spring-boot/iv.-spring-boot-features/24.-externalized-configuration/24.6.-using-yaml-instead-of-properties/24.6.1.-loading-yaml","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"24.外化配置"},{"label":"24.6. 使用YAML代替Properties"}]},{"id":"-Lc65pmZQR3b3scc82C6","title":"24.6.2. 在Spring环境中使用YAML暴露属性","pathname":"/spring-boot/iv.-spring-boot-features/24.-externalized-configuration/24.6.-using-yaml-instead-of-properties/24.6.2.-exposing-yaml-as-properties-in-the-spring-environment","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"24.外化配置"},{"label":"24.6. 使用YAML代替Properties"}]},{"id":"-Lc65pm_GK-p1DsJmVVB","title":"24.6.3. Multi-profile YAML文档","pathname":"/spring-boot/iv.-spring-boot-features/24.-externalized-configuration/24.6.-using-yaml-instead-of-properties/24.6.3.-multi-profile-yaml-documents","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"24.外化配置"},{"label":"24.6. 使用YAML代替Properties"}]},{"id":"-Lc65pmaU6oEWIWy9q-I","title":"24.6.4. YAML缺点","pathname":"/spring-boot/iv.-spring-boot-features/24.-externalized-configuration/24.6.-using-yaml-instead-of-properties/24.6.4.-yaml-shortcomings","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"24.外化配置"},{"label":"24.6. 使用YAML代替Properties"}]},{"id":"-Lc65pmbYNZAxdV5fpLX","title":"24.6.5. 合并YAML列表","pathname":"/spring-boot/iv.-spring-boot-features/24.-externalized-configuration/24.6.-using-yaml-instead-of-properties/24.6.5.-merging-yaml-lists","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"24.外化配置"},{"label":"24.6. 使用YAML代替Properties"}]},{"id":"-Lc65pmcw4ihLuIijI5T","title":"24.7. 类型安全的配置属性","pathname":"/spring-boot/iv.-spring-boot-features/24.-externalized-configuration/24.7.-type-safe-configuration-properties","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"24.外化配置"}]},{"id":"-Lc65pmdGY_IFUmsACIp","title":"24.7.1. 第三方配置","pathname":"/spring-boot/iv.-spring-boot-features/24.-externalized-configuration/24.7.-type-safe-configuration-properties/24.7.1.-third-party-configuration","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"24.外化配置"},{"label":"24.7. 类型安全的配置属性"}]},{"id":"-Lc65pmekBr6E79VJP5y","title":"24.7.2. Relaxed绑定","pathname":"/spring-boot/iv.-spring-boot-features/24.-externalized-configuration/24.7.-type-safe-configuration-properties/24.7.2.-relaxed-binding","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"24.外化配置"},{"label":"24.7. 类型安全的配置属性"}]},{"id":"-Lc65pmfCRN7f2U4n_02","title":"24.7.3. 属性转换","pathname":"/spring-boot/iv.-spring-boot-features/24.-externalized-configuration/24.7.-type-safe-configuration-properties/24.7.3.-properties-conversion","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"24.外化配置"},{"label":"24.7. 类型安全的配置属性"}]},{"id":"-Lc65pmglnUcS2eG-UuZ","title":"24.7.4. @ConfigurationProperties校验","pathname":"/spring-boot/iv.-spring-boot-features/24.-externalized-configuration/24.7.-type-safe-configuration-properties/24.7.4.-configurationproperties-validation","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"24.外化配置"},{"label":"24.7. 类型安全的配置属性"}]},{"id":"-Lc65pmhrwT0sQ11avHm","title":"24.7.5. @ConfigurationProperties vs @Value","pathname":"/spring-boot/iv.-spring-boot-features/24.-externalized-configuration/24.7.-type-safe-configuration-properties/24.7.5.-configurationproperties-vs.-value","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"24.外化配置"},{"label":"24.7. 类型安全的配置属性"}]},{"id":"-Lc65pmiQWwv-umg_yXp","title":"25. Profiles","pathname":"/spring-boot/iv.-spring-boot-features/25.-profiles","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"}]},{"id":"-Lc65pmj1wZb5kRubLUB","title":"25.1. 添加激活的profiles","pathname":"/spring-boot/iv.-spring-boot-features/25.-profiles/25.1.-adding-active-profiles","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"25. Profiles"}]},{"id":"-Lc65pmkbh5rz2vLXYNF","title":"25.2.以编程方式设置profiles","pathname":"/spring-boot/iv.-spring-boot-features/25.-profiles/25.2.-programmatically-setting-profiles","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"25. Profiles"}]},{"id":"-Lc65pmlOGBxh_s42n4X","title":"25.3. Profile-specific配置文件","pathname":"/spring-boot/iv.-spring-boot-features/25.-profiles/25.3.-profile-specific-configuration-files","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"25. Profiles"}]},{"id":"-Lc65pmml0VhdLaNkOUr","title":"26. 日志","pathname":"/spring-boot/iv.-spring-boot-features/26.-logging","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"}]},{"id":"-Lc65pmnklOGVUODBXpK","title":"26.1. 日志格式","pathname":"/spring-boot/iv.-spring-boot-features/26.-logging/26.1.-log-format","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"26. 日志"}]},{"id":"-Lc65pmo2nzkEEpG2jwC","title":"26.2. 控制台输出","pathname":"/spring-boot/iv.-spring-boot-features/26.-logging/26.2.-console-output","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"26. 日志"}]},{"id":"-Lc65pmpKrmF8rf3L7mf","title":"26.2.1. Color-coded输出","pathname":"/spring-boot/iv.-spring-boot-features/26.-logging/26.2.-console-output/26.2.1.-color-coded-output","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"26. 日志"},{"label":"26.2. 控制台输出"}]},{"id":"-Lc65pmqHFf1WxUKnWeU","title":"26.3. 文件输出","pathname":"/spring-boot/iv.-spring-boot-features/26.-logging/26.3.-file-output","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"26. 日志"}]},{"id":"-Lc65pmrWPVbh5_EZ2DD","title":"26.4. 日志级别","pathname":"/spring-boot/iv.-spring-boot-features/26.-logging/26.4.-log-levels","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"26. 日志"}]},{"id":"-Lc65pmsFlGaWWwWkG8r","title":"26.5. 自定义日志配置","pathname":"/spring-boot/iv.-spring-boot-features/26.-logging/26.5.-custom-log-configuration","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"26. 日志"}]},{"id":"-Lc65pmt8vAAy7s1el9i","title":"26.6. Logback扩展","pathname":"/spring-boot/iv.-spring-boot-features/26.-logging/26.6.-logback-extensions","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"26. 日志"}]},{"id":"-Lc65pmueadMyngGk_vk","title":"26.6.1. Profile-specific配置","pathname":"/spring-boot/iv.-spring-boot-features/26.-logging/26.6.-logback-extensions/26.6.1.-profile-specific-configuration","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"26. 日志"},{"label":"26.6. Logback扩展"}]},{"id":"-Lc65pmvhUa872y9tCmZ","title":"26.6.2. Environment属性","pathname":"/spring-boot/iv.-spring-boot-features/26.-logging/26.6.-logback-extensions/26.6.2.-environment-properties","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"26. 日志"},{"label":"26.6. Logback扩展"}]},{"id":"-Lc65pmwHRikdY5H4QKP","title":"27. 开发Web应用","pathname":"/spring-boot/iv.-spring-boot-features/27.-developing-web-applications","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"}]},{"id":"-Lc65pmx1YADAALU_hi6","title":"27.1. Spring Web MVC框架","pathname":"/spring-boot/iv.-spring-boot-features/27.-developing-web-applications/27.1.-the-spring-web-mvc-framework","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"27. 开发Web应用"}]},{"id":"-Lc65pmy8IdYP481X78c","title":"27.1.1. Spring MVC自动配置","pathname":"/spring-boot/iv.-spring-boot-features/27.-developing-web-applications/27.1.-the-spring-web-mvc-framework/27.1.1.-spring-mvc-auto-configuration","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"27. 开发Web应用"},{"label":"27.1. Spring Web MVC框架"}]},{"id":"-Lc65pmzP-Im-5mablBN","title":"27.1.2. HttpMessageConverters","pathname":"/spring-boot/iv.-spring-boot-features/27.-developing-web-applications/27.1.-the-spring-web-mvc-framework/27.1.2.-httpmessageconverters","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"27. 开发Web应用"},{"label":"27.1. Spring Web MVC框架"}]},{"id":"-Lc65pn-OaLX_QlT4xLk","title":"27.1.3. 自定义JSON序列化器和反序列化器","pathname":"/spring-boot/iv.-spring-boot-features/27.-developing-web-applications/27.1.-the-spring-web-mvc-framework/27.1.3.-custom-json-serializers-and-deserializers","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"27. 开发Web应用"},{"label":"27.1. Spring Web MVC框架"}]},{"id":"-Lc65pn0zVNfps7X5ZWf","title":"27.1.4. MessageCodesResolver","pathname":"/spring-boot/iv.-spring-boot-features/27.-developing-web-applications/27.1.-the-spring-web-mvc-framework/27.1.4.-messagecodesresolver","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"27. 开发Web应用"},{"label":"27.1. Spring Web MVC框架"}]},{"id":"-Lc65pn122GbFpx4kfad","title":"27.1.5. 静态内容","pathname":"/spring-boot/iv.-spring-boot-features/27.-developing-web-applications/27.1.-the-spring-web-mvc-framework/27.1.5.-static-content","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"27. 开发Web应用"},{"label":"27.1. Spring Web MVC框架"}]},{"id":"-Lc65pn24zhubyUgJBKj","title":"27.1.6. 欢迎页","pathname":"/spring-boot/iv.-spring-boot-features/27.-developing-web-applications/27.1.-the-spring-web-mvc-framework/27.1.6.-welcome-page","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"27. 开发Web应用"},{"label":"27.1. Spring Web MVC框架"}]},{"id":"-Lc65pn3xawKmZydhQ17","title":"27.1.7. 定制网站图标","pathname":"/spring-boot/iv.-spring-boot-features/27.-developing-web-applications/27.1.-the-spring-web-mvc-framework/27.1.7.-custom-favicon","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"27. 开发Web应用"},{"label":"27.1. Spring Web MVC框架"}]},{"id":"-Lc65pn4HdOwRPJNna3a","title":"27.1.8. 路径匹配与内容协商","pathname":"/spring-boot/iv.-spring-boot-features/27.-developing-web-applications/27.1.-the-spring-web-mvc-framework/27.1.8.-path-matching-and-content-negotiation","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"27. 开发Web应用"},{"label":"27.1. Spring Web MVC框架"}]},{"id":"-Lc65pn5g0XCQM2GDtPl","title":"27.1.9. ConfigurableWebBindingInitializer","pathname":"/spring-boot/iv.-spring-boot-features/27.-developing-web-applications/27.1.-the-spring-web-mvc-framework/27.1.9.-configurablewebbindinginitializer","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"27. 开发Web应用"},{"label":"27.1. Spring Web MVC框架"}]},{"id":"-Lc65pn6gNhs1amoBnKe","title":"27.1.10. 模板引擎","pathname":"/spring-boot/iv.-spring-boot-features/27.-developing-web-applications/27.1.-the-spring-web-mvc-framework/27.1.10.-template-engines","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"27. 开发Web应用"},{"label":"27.1. Spring Web MVC框架"}]},{"id":"-Lc65pn7OHiMyXgegHKQ","title":"27.1.11. 错误处理","pathname":"/spring-boot/iv.-spring-boot-features/27.-developing-web-applications/27.1.-the-spring-web-mvc-framework/27.1.11.-error-handling","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"27. 开发Web应用"},{"label":"27.1. Spring Web MVC框架"}]},{"id":"-Lc65pn8erjU7orv0LSe","title":"27.1.12. Spring HATEOAS","pathname":"/spring-boot/iv.-spring-boot-features/27.-developing-web-applications/27.1.-the-spring-web-mvc-framework/27.1.12.-spring-hateoas","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"27. 开发Web应用"},{"label":"27.1. Spring Web MVC框架"}]},{"id":"-Lc65pn9M4gfpLoOB_c-","title":"27.1.13. CORS支持","pathname":"/spring-boot/iv.-spring-boot-features/27.-developing-web-applications/27.1.-the-spring-web-mvc-framework/27.1.13.-cors-support","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"27. 开发Web应用"},{"label":"27.1. Spring Web MVC框架"}]},{"id":"-Lc65pnA0BHZr5j9BEaC","title":"27.2 Spring WebFlux框架","pathname":"/spring-boot/iv.-spring-boot-features/27.-developing-web-applications/27.2-the-spring-webflux-framework","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"27. 开发Web应用"}]},{"id":"-Lc65pnBOQpCiuIZTVty","title":"27.2.1 Spring WebFlux自动配置","pathname":"/spring-boot/iv.-spring-boot-features/27.-developing-web-applications/27.2-the-spring-webflux-framework/27.2.1-spring-webflux-auto-configuration","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"27. 开发Web应用"},{"label":"27.2 Spring WebFlux框架"}]},{"id":"-Lc65pnCpyP0kDLFAKlH","title":"27.2.2 HTTP编解码器——HttpMessageReaders与HttpMessageWriters","pathname":"/spring-boot/iv.-spring-boot-features/27.-developing-web-applications/27.2-the-spring-webflux-framework/27.2.2-http-codecs-with-httpmessagereaders-and-httpmessagewriters","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"27. 开发Web应用"},{"label":"27.2 Spring WebFlux框架"}]},{"id":"-Lc65pnDI2j0A2eauKPe","title":"27.2.3 静态内容","pathname":"/spring-boot/iv.-spring-boot-features/27.-developing-web-applications/27.2-the-spring-webflux-framework/27.2.3-static-content","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"27. 开发Web应用"},{"label":"27.2 Spring WebFlux框架"}]},{"id":"-Lc65pnEwaLX664nDHMF","title":"27.2.4 模板引擎","pathname":"/spring-boot/iv.-spring-boot-features/27.-developing-web-applications/27.2-the-spring-webflux-framework/27.2.4-template-engines","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"27. 开发Web应用"},{"label":"27.2 Spring WebFlux框架"}]},{"id":"-Lc65pnFK1dLplFfe6Yq","title":"27.2.5 错误处理","pathname":"/spring-boot/iv.-spring-boot-features/27.-developing-web-applications/27.2-the-spring-webflux-framework/27.2.5-error-handling","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"27. 开发Web应用"},{"label":"27.2 Spring WebFlux框架"}]},{"id":"-Lc65pnGd55WNWOWBruY","title":"27.2.6 网络过滤器","pathname":"/spring-boot/iv.-spring-boot-features/27.-developing-web-applications/27.2-the-spring-webflux-framework/27.2.6-web-filters","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"27. 开发Web应用"},{"label":"27.2 Spring WebFlux框架"}]},{"id":"-Lc65pnHvci0ih6uj7vC","title":"27.3. JAX-RS和Jersey","pathname":"/spring-boot/iv.-spring-boot-features/27.-developing-web-applications/27.3.-jax-rs-and-jersey","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"27. 开发Web应用"}]},{"id":"-Lc65pnIbakn72G7C_X8","title":"27.4 内嵌servlet容器支持","pathname":"/spring-boot/iv.-spring-boot-features/27.-developing-web-applications/27.4-embedded-servlet-container-support","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"27. 开发Web应用"}]},{"id":"-Lc65pnJmwzlI-LamjVE","title":"27.4.1 Servlets、Filters和listeners","pathname":"/spring-boot/iv.-spring-boot-features/27.-developing-web-applications/27.4-embedded-servlet-container-support/27.4.1-servlets-filters-and-listeners","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"27. 开发Web应用"},{"label":"27.4 内嵌servlet容器支持"}]},{"id":"-Lc65pnK0Qic_UYVzF9V","title":"27.4.2 Servlet上下文初始化","pathname":"/spring-boot/iv.-spring-boot-features/27.-developing-web-applications/27.4-embedded-servlet-container-support/27.4.2-servlet-context-initialization","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"27. 开发Web应用"},{"label":"27.4 内嵌servlet容器支持"}]},{"id":"-Lc65pnLazH6S6YAwqlx","title":"27.4.3 ServletWebServerApplicationContext","pathname":"/spring-boot/iv.-spring-boot-features/27.-developing-web-applications/27.4-embedded-servlet-container-support/27.4.3-the-servletwebserverapplicationcontext","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"27. 开发Web应用"},{"label":"27.4 内嵌servlet容器支持"}]},{"id":"-Lc65pnMzSAkt9gySjiG","title":"27.4.4 自定义内嵌servlet容器","pathname":"/spring-boot/iv.-spring-boot-features/27.-developing-web-applications/27.4-embedded-servlet-container-support/27.4.4-customizing-embedded-servlet-containers","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"27. 开发Web应用"},{"label":"27.4 内嵌servlet容器支持"}]},{"id":"-Lc65pnNsKQRfC4ulzEz","title":"27.4.5 JSP的限制","pathname":"/spring-boot/iv.-spring-boot-features/27.-developing-web-applications/27.4-embedded-servlet-container-support/27.4.5-jsp-limitations","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"27. 开发Web应用"},{"label":"27.4 内嵌servlet容器支持"}]},{"id":"-Lc65pnOAyKlHp9r9vv4","title":"28. 安全","pathname":"/spring-boot/iv.-spring-boot-features/28.-security","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"}]},{"id":"-Lc65pnP79DcY9Y-p_Xg","title":"28.1 MVC安全","pathname":"/spring-boot/iv.-spring-boot-features/28.-security/28.1-mvc-security","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"28. 安全"}]},{"id":"-Lc65pnQK9hbigzwu3iJ","title":"28.2 WebFlux安全","pathname":"/spring-boot/iv.-spring-boot-features/28.-security/28.2-webflux-security","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"28. 安全"}]},{"id":"-Lc65pnR_n67xPGzrNT6","title":"28.3 OAuth2","pathname":"/spring-boot/iv.-spring-boot-features/28.-security/28.3-oauth2","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"28. 安全"}]},{"id":"-Lc65pnSmpgZLHV0tuRy","title":"28.3.1 客户端","pathname":"/spring-boot/iv.-spring-boot-features/28.-security/28.3-oauth2/28.3.1-client","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"28. 安全"},{"label":"28.3 OAuth2"}]},{"id":"-Lc65pnT_P7zw0Q3brTJ","title":"28.4 执行器安全","pathname":"/spring-boot/iv.-spring-boot-features/28.-security/28.4-actuator-security","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"28. 安全"}]},{"id":"-Lc65pnUm9bYFPrv8Odt","title":"28.4.1 跨站请求伪造保护","pathname":"/spring-boot/iv.-spring-boot-features/28.-security/28.4-actuator-security/28.4.1-cross-site-request-forgery-protection","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"28. 安全"},{"label":"28.4 执行器安全"}]},{"id":"-Lc65pnVhAFlTNxOphCS","title":"29. 使用SQL数据库","pathname":"/spring-boot/iv.-spring-boot-features/29.-working-with-sql-databases","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"}]},{"id":"-Lc65pnWy7RzUKvXWI6U","title":"29.1. 配置数据源","pathname":"/spring-boot/iv.-spring-boot-features/29.-working-with-sql-databases/29.1.-configure-a-datasource","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"29. 使用SQL数据库"}]},{"id":"-Lc65pnXwSMyHtGwZO14","title":"29.1.1. 对内嵌数据库的支持","pathname":"/spring-boot/iv.-spring-boot-features/29.-working-with-sql-databases/29.1.-configure-a-datasource/29.1.1.-embedded-database-support","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"29. 使用SQL数据库"},{"label":"29.1. 配置数据源"}]},{"id":"-Lc65pnYVaPz6e5tgpxU","title":"29.1.2. 连接生产环境数据库","pathname":"/spring-boot/iv.-spring-boot-features/29.-working-with-sql-databases/29.1.-configure-a-datasource/29.1.2.-connection-to-a-production-database","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"29. 使用SQL数据库"},{"label":"29.1. 配置数据源"}]},{"id":"-Lc65pnZJJA2vAkngQdq","title":"29.1.3. 连接JNDI数据库","pathname":"/spring-boot/iv.-spring-boot-features/29.-working-with-sql-databases/29.1.-configure-a-datasource/29.1.3.-connection-to-a-jndi-datasource","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"29. 使用SQL数据库"},{"label":"29.1. 配置数据源"}]},{"id":"-Lc65pn_ZWH2CjoW3pdj","title":"29.2. 使用JdbcTemplate","pathname":"/spring-boot/iv.-spring-boot-features/29.-working-with-sql-databases/29.2.-using-jdbctemplate","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"29. 使用SQL数据库"}]},{"id":"-Lc65pnamMWjQCVQGzK5","title":"29.3. JPA和Spring Data","pathname":"/spring-boot/iv.-spring-boot-features/29.-working-with-sql-databases/29.3.-jpa-and-spring-data","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"29. 使用SQL数据库"}]},{"id":"-Lc65pnbjAuF26YfDuGu","title":"29.3.1. 实体类","pathname":"/spring-boot/iv.-spring-boot-features/29.-working-with-sql-databases/29.3.-jpa-and-spring-data/29.3.1.-entity-classes","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"29. 使用SQL数据库"},{"label":"29.3. JPA和Spring Data"}]},{"id":"-Lc65pncqhM-UeYOpbeo","title":"29.3.2. Spring Data JPA仓库","pathname":"/spring-boot/iv.-spring-boot-features/29.-working-with-sql-databases/29.3.-jpa-and-spring-data/29.3.2.-spring-data-jpa-repositories","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"29. 使用SQL数据库"},{"label":"29.3. JPA和Spring Data"}]},{"id":"-Lc65pnd7K9H-zeEiDTE","title":"29.3.3. 创建和删除JPA数据库","pathname":"/spring-boot/iv.-spring-boot-features/29.-working-with-sql-databases/29.3.-jpa-and-spring-data/29.3.3.-creating-and-dropping-jpa-databases","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"29. 使用SQL数据库"},{"label":"29.3. JPA和Spring Data"}]},{"id":"-Lc65pnekRqrSJlYDSrQ","title":"29.3.4. 在视图中打开实体管理器","pathname":"/spring-boot/iv.-spring-boot-features/29.-working-with-sql-databases/29.3.-jpa-and-spring-data/29.3.4.-open-entitymanager-in-view","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"29. 使用SQL数据库"},{"label":"29.3. JPA和Spring Data"}]},{"id":"-Lc65pnfYSOm8K6M8v-s","title":"29.4 使用H2的web控制台","pathname":"/spring-boot/iv.-spring-boot-features/29.-working-with-sql-databases/29.4-using-h2s-web-console","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"29. 使用SQL数据库"}]},{"id":"-Lc65png6_nq6tnu-yVM","title":"29.4.1 改变H2控制台路径","pathname":"/spring-boot/iv.-spring-boot-features/29.-working-with-sql-databases/29.4-using-h2s-web-console/29.4.1-changing-the-h2-consoles-path","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"29. 使用SQL数据库"},{"label":"29.4 使用H2的web控制台"}]},{"id":"-Lc65pnh39qEmv-JbBa6","title":"29.5 使用jOOQ","pathname":"/spring-boot/iv.-spring-boot-features/29.-working-with-sql-databases/29.5-using-jooq","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"29. 使用SQL数据库"}]},{"id":"-Lc65pnik05BlSbB5ILL","title":"29.5.1 代码生成","pathname":"/spring-boot/iv.-spring-boot-features/29.-working-with-sql-databases/29.5-using-jooq/29.5.1-code-generation","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"29. 使用SQL数据库"},{"label":"29.5 使用jOOQ"}]},{"id":"-Lc65pnjcOhEFyU90hxl","title":"29.5.2 使用DSLContext","pathname":"/spring-boot/iv.-spring-boot-features/29.-working-with-sql-databases/29.5-using-jooq/29.5.2-using-dslcontext","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"29. 使用SQL数据库"},{"label":"29.5 使用jOOQ"}]},{"id":"-Lc65pnkXVTcyzxQZejK","title":"29.5.3 jOOQ SQL方言","pathname":"/spring-boot/iv.-spring-boot-features/29.-working-with-sql-databases/29.5-using-jooq/29.5.3-jooq-sql-dialect","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"29. 使用SQL数据库"},{"label":"29.5 使用jOOQ"}]},{"id":"-Lc65pnlt8VOheItH5a0","title":"29.5.4 自定义jOOQ","pathname":"/spring-boot/iv.-spring-boot-features/29.-working-with-sql-databases/29.5-using-jooq/29.5.4-customizing-jooq","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"29. 使用SQL数据库"},{"label":"29.5 使用jOOQ"}]},{"id":"-Lc65pnmvKAvgNLwnP1-","title":"30. 使用NoSQL技术","pathname":"/spring-boot/iv.-spring-boot-features/30.-working-with-nosql-technologies","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"}]},{"id":"-Lc65pnnvNhgaxzdZ7De","title":"30.1. Redis","pathname":"/spring-boot/iv.-spring-boot-features/30.-working-with-nosql-technologies/30.1.-redis","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"30. 使用NoSQL技术"}]},{"id":"-Lc65pnoMZbMhBn012S9","title":"30.1.1. 连接Redis","pathname":"/spring-boot/iv.-spring-boot-features/30.-working-with-nosql-technologies/30.1.-redis/30.1.1.-connecting-to-redis","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"30. 使用NoSQL技术"},{"label":"30.1. Redis"}]},{"id":"-Lc65pnpbi0L4O3KE1k6","title":"30.2. MongoDB","pathname":"/spring-boot/iv.-spring-boot-features/30.-working-with-nosql-technologies/30.2.-mongodb","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"30. 使用NoSQL技术"}]},{"id":"-Lc65poWH6B8VtLjtQz0","title":"30.2.1. 连接MongoDB数据库","pathname":"/spring-boot/iv.-spring-boot-features/30.-working-with-nosql-technologies/30.2.-mongodb/30.2.1.-connecting-to-a-mongodb-database","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"30. 使用NoSQL技术"},{"label":"30.2. MongoDB"}]},{"id":"-Lc65poXssBhWzZNf3oa","title":"30.2.2. MongoDBTemplate","pathname":"/spring-boot/iv.-spring-boot-features/30.-working-with-nosql-technologies/30.2.-mongodb/30.2.2.-mongotemplate","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"30. 使用NoSQL技术"},{"label":"30.2. MongoDB"}]},{"id":"-Lc65poYS9wF_TohFFJF","title":"30.2.3. Spring Data MongoDB仓库","pathname":"/spring-boot/iv.-spring-boot-features/30.-working-with-nosql-technologies/30.2.-mongodb/30.2.3.-spring-data-mongodb-repositories","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"30. 使用NoSQL技术"},{"label":"30.2. MongoDB"}]},{"id":"-Lc65poZp5OCA_kJHcNM","title":"30.2.4 内嵌的Mongo","pathname":"/spring-boot/iv.-spring-boot-features/30.-working-with-nosql-technologies/30.2.-mongodb/30.2.4-embedded-mongo","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"30. 使用NoSQL技术"},{"label":"30.2. MongoDB"}]},{"id":"-Lc65po_t611QRi7nH8q","title":"30.3 Neo4j","pathname":"/spring-boot/iv.-spring-boot-features/30.-working-with-nosql-technologies/30.3-neo4j","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"30. 使用NoSQL技术"}]},{"id":"-Lc65poaUGXNzBYJj0Yj","title":"30.3.1 连接Neo4j数据库","pathname":"/spring-boot/iv.-spring-boot-features/30.-working-with-nosql-technologies/30.3-neo4j/30.3.1-connecting-to-a-neo4j-database","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"30. 使用NoSQL技术"},{"label":"30.3 Neo4j"}]},{"id":"-Lc65pob74_vhTYztse4","title":"30.3.2 使用内嵌模式","pathname":"/spring-boot/iv.-spring-boot-features/30.-working-with-nosql-technologies/30.3-neo4j/30.3.2-using-the-embedded-mode","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"30. 使用NoSQL技术"},{"label":"30.3 Neo4j"}]},{"id":"-Lc65pocyd7Fq72n8o8k","title":"30.3.3 Neo4jSession","pathname":"/spring-boot/iv.-spring-boot-features/30.-working-with-nosql-technologies/30.3-neo4j/30.3.3-neo4jsession","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"30. 使用NoSQL技术"},{"label":"30.3 Neo4j"}]},{"id":"-Lc65podlo7kUlCpXppp","title":"30.3.4 Spring Data Neo4j仓库","pathname":"/spring-boot/iv.-spring-boot-features/30.-working-with-nosql-technologies/30.3-neo4j/30.3.4-spring-data-neo4j-repositories","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"30. 使用NoSQL技术"},{"label":"30.3 Neo4j"}]},{"id":"-LcRA387VMxw__NU5aA1","title":"30.3.5 仓库示例","pathname":"/spring-boot/iv.-spring-boot-features/30.-working-with-nosql-technologies/30.3-neo4j/30.3.5-repository-example","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"30. 使用NoSQL技术"},{"label":"30.3 Neo4j"}]},{"id":"-Lc65poff09bdDNG706w","title":"30.4 Gemfire","pathname":"/spring-boot/iv.-spring-boot-features/30.-working-with-nosql-technologies/30.4-gemfire","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"30. 使用NoSQL技术"}]},{"id":"-Lc65pogBwzXvJaQBDsP","title":"30.5 Solr","pathname":"/spring-boot/iv.-spring-boot-features/30.-working-with-nosql-technologies/30.5-solr","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"30. 使用NoSQL技术"}]},{"id":"-Lc65pohTGnJdmhVWvAI","title":"30.5.1 连接Solr","pathname":"/spring-boot/iv.-spring-boot-features/30.-working-with-nosql-technologies/30.5-solr/30.5.1-connecting-to-solr","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"30. 使用NoSQL技术"},{"label":"30.5 Solr"}]},{"id":"-Lc65poiui-aEBO54aYp","title":"30.5.2 Spring Data Solr仓库","pathname":"/spring-boot/iv.-spring-boot-features/30.-working-with-nosql-technologies/30.5-solr/30.5.2-spring-data-solr-repositories","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"30. 使用NoSQL技术"},{"label":"30.5 Solr"}]},{"id":"-Lc65pojtjBuf74AZj3a","title":"30.6 Elasticsearch","pathname":"/spring-boot/iv.-spring-boot-features/30.-working-with-nosql-technologies/30.6-elasticsearch","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"30. 使用NoSQL技术"}]},{"id":"-LcfnlMchKbjjykYkNzD","title":"30.6.1 使用Jest连接Elasticsearch","pathname":"/spring-boot/iv.-spring-boot-features/30.-working-with-nosql-technologies/30.6-elasticsearch/30.6.1-connecting-to-elasticsearch-by-using-jest","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"30. 使用NoSQL技术"},{"label":"30.6 Elasticsearch"}]},{"id":"-Lcfp77lBfA6Tu3S2lXS","title":"30.6.2 使用Spring Data连接Elasticsearch","pathname":"/spring-boot/iv.-spring-boot-features/30.-working-with-nosql-technologies/30.6-elasticsearch/30.6.2-connecting-to-elasticsearch-by-using-spring-data","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"30. 使用NoSQL技术"},{"label":"30.6 Elasticsearch"}]},{"id":"-Lcfq1nH6UEa3-pjMHAh","title":"30.6.3 Spring Data Elasticseach仓库","pathname":"/spring-boot/iv.-spring-boot-features/30.-working-with-nosql-technologies/30.6-elasticsearch/30.6.3-spring-data-elasticsearch-repositories","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"30. 使用NoSQL技术"},{"label":"30.6 Elasticsearch"}]},{"id":"-Lc65ponSZ9ufFWaL5mH","title":"30.7 Cassandra","pathname":"/spring-boot/iv.-spring-boot-features/30.-working-with-nosql-technologies/30.7-cassandra","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"30. 使用NoSQL技术"}]},{"id":"-Lc65poouwueIbTpp6Bn","title":"30.7.1 连接Cassandra","pathname":"/spring-boot/iv.-spring-boot-features/30.-working-with-nosql-technologies/30.7-cassandra/30.7.1-connecting-to-cassandra","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"30. 使用NoSQL技术"},{"label":"30.7 Cassandra"}]},{"id":"-LcprLWkVp9g3YmW_Jrs","title":"30.7.2 Spring Data Cassandra仓库","pathname":"/spring-boot/iv.-spring-boot-features/30.-working-with-nosql-technologies/30.7-cassandra/30.7.2-spring-data-cassandra-repositories","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"30. 使用NoSQL技术"},{"label":"30.7 Cassandra"}]},{"id":"-Lc65poq8AyGwnjUbVrY","title":"30.8 Couchbase","pathname":"/spring-boot/iv.-spring-boot-features/30.-working-with-nosql-technologies/30.8-couchbase","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"30. 使用NoSQL技术"}]},{"id":"-Lc65porDfiizqWohAps","title":"30.8.1 连接Couchbase","pathname":"/spring-boot/iv.-spring-boot-features/30.-working-with-nosql-technologies/30.8-couchbase/30.8.1-connecting-to-couchbase","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"30. 使用NoSQL技术"},{"label":"30.8 Couchbase"}]},{"id":"-Ld9ZI1QtwhQr7kOX4iB","title":"30.8.2 Spring Data Couchbase仓库","pathname":"/spring-boot/iv.-spring-boot-features/30.-working-with-nosql-technologies/30.8-couchbase/30.8.2-spring-data-couchbase-repositories","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"30. 使用NoSQL技术"},{"label":"30.8 Couchbase"}]},{"id":"-Lc65pot3_qmPglONXCU","title":"30.9 LDAP","pathname":"/spring-boot/iv.-spring-boot-features/30.-working-with-nosql-technologies/30.9-ldap","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"30. 使用NoSQL技术"}]},{"id":"-Lc65pouJ4ElDZxRlvAq","title":"30.9.1 连接LDAP服务器","pathname":"/spring-boot/iv.-spring-boot-features/30.-working-with-nosql-technologies/30.9-ldap/30.9.1-connecting-to-an-ldap-server","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"30. 使用NoSQL技术"},{"label":"30.9 LDAP"}]},{"id":"-LdC11CCH8yZSLmrbO0e","title":"30.9.2 Spring Data LDAP仓库","pathname":"/spring-boot/iv.-spring-boot-features/30.-working-with-nosql-technologies/30.9-ldap/30.9.2-spring-data-ldap-repositories","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"30. 使用NoSQL技术"},{"label":"30.9 LDAP"}]},{"id":"-LdC5x-L-g9juHHDiIB5","title":"30.9.3 嵌入式内存中LDAP服务器","pathname":"/spring-boot/iv.-spring-boot-features/30.-working-with-nosql-technologies/30.9-ldap/30.9.3-embedded-in-memory-ldap-server","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"30. 使用NoSQL技术"},{"label":"30.9 LDAP"}]},{"id":"-Lc65poxsLQB8e9poz03","title":"30.10 InfluxDB","pathname":"/spring-boot/iv.-spring-boot-features/30.-working-with-nosql-technologies/30.10-influxdb","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"30. 使用NoSQL技术"}]},{"id":"-Lc65poy8tX0mndFYz4e","title":"30.10.1 连接InfluxDB","pathname":"/spring-boot/iv.-spring-boot-features/30.-working-with-nosql-technologies/30.10-influxdb/30.10.1-connecting-to-influxdb","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"30. 使用NoSQL技术"},{"label":"30.10 InfluxDB"}]},{"id":"-Lc65pozy9F9geau-Px0","title":"31. 缓存","pathname":"/spring-boot/iv.-spring-boot-features/31.-caching","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"}]},{"id":"-Lc65pp-M5IGmXf2EGaK","title":"31.1 支持的缓存提供商","pathname":"/spring-boot/iv.-spring-boot-features/31.-caching/31.1-supported-cache-providers","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"31. 缓存"}]},{"id":"-Lc65pp0AyHAIId1ZLnf","title":"31.1.1 Generic","pathname":"/spring-boot/iv.-spring-boot-features/31.-caching/31.1-supported-cache-providers/31.1.1-generic","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"31. 缓存"},{"label":"31.1 支持的缓存提供商"}]},{"id":"-Lc65pp1kL3fGgI4RTkM","title":"31.1.2 JCache (JSR-107)","pathname":"/spring-boot/iv.-spring-boot-features/31.-caching/31.1-supported-cache-providers/31.1.2-jcache-jsr-107","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"31. 缓存"},{"label":"31.1 支持的缓存提供商"}]},{"id":"-Lc65pp2QTTtOICMDkuM","title":"31.1.3 EhCache 2.x","pathname":"/spring-boot/iv.-spring-boot-features/31.-caching/31.1-supported-cache-providers/31.1.3-ehcache-2.x","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"31. 缓存"},{"label":"31.1 支持的缓存提供商"}]},{"id":"-Lc65pp3M1d4hbb2xJGM","title":"31.1.4 Hazelcast","pathname":"/spring-boot/iv.-spring-boot-features/31.-caching/31.1-supported-cache-providers/31.1.4-hazelcast","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"31. 缓存"},{"label":"31.1 支持的缓存提供商"}]},{"id":"-Lc65pp4MSzFuEZv0YTO","title":"31.1.5 Infinispan","pathname":"/spring-boot/iv.-spring-boot-features/31.-caching/31.1-supported-cache-providers/31.1.5-infinispan","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"31. 缓存"},{"label":"31.1 支持的缓存提供商"}]},{"id":"-Lc65pp5CXuK1V_KDvw_","title":"31.1.6 Couchbase","pathname":"/spring-boot/iv.-spring-boot-features/31.-caching/31.1-supported-cache-providers/31.1.6-couchbase","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"31. 缓存"},{"label":"31.1 支持的缓存提供商"}]},{"id":"-Lc65pp6JRe_kUxvAIRp","title":"31.1.7 Redis","pathname":"/spring-boot/iv.-spring-boot-features/31.-caching/31.1-supported-cache-providers/31.1.7-redis","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"31. 缓存"},{"label":"31.1 支持的缓存提供商"}]},{"id":"-Lc65pp7d6mimMx5WeVf","title":"31.1.8 Caffeine","pathname":"/spring-boot/iv.-spring-boot-features/31.-caching/31.1-supported-cache-providers/31.1.8-caffeine","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"31. 缓存"},{"label":"31.1 支持的缓存提供商"}]},{"id":"-Lc65pp8BGKs8TVdXCaP","title":"31.1.9 Simple","pathname":"/spring-boot/iv.-spring-boot-features/31.-caching/31.1-supported-cache-providers/31.1.9-simple","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"31. 缓存"},{"label":"31.1 支持的缓存提供商"}]},{"id":"-Lc65pp9nTFZ-3az34Nb","title":"31.1.10 None","pathname":"/spring-boot/iv.-spring-boot-features/31.-caching/31.1-supported-cache-providers/31.1.10-none","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"31. 缓存"},{"label":"31.1 支持的缓存提供商"}]},{"id":"-Lc65ppAA7lAAGpJSAia","title":"32. 消息","pathname":"/spring-boot/iv.-spring-boot-features/32.-messaging","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"}]},{"id":"-Lc65ppBX-2NyZNm2H-V","title":"32.1. JMS","pathname":"/spring-boot/iv.-spring-boot-features/32.-messaging/32.1.-jms","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"32. 消息"}]},{"id":"-LelX80btg9E088ax5-s","title":"32.1.1 ActiveQ支持","pathname":"/spring-boot/iv.-spring-boot-features/32.-messaging/32.1.-jms/32.1.1-activemq-support","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"32. 消息"},{"label":"32.1. JMS"}]},{"id":"-Lc65ppDSzhB7iUokNdQ","title":"32.1.2 Artemis支持","pathname":"/spring-boot/iv.-spring-boot-features/32.-messaging/32.1.-jms/32.1.2-artemis-support","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"32. 消息"},{"label":"32.1. JMS"}]},{"id":"-Lc65ppEpbe8BaDAwRio","title":"32.1.3 使用JNDI ConnectionFactory","pathname":"/spring-boot/iv.-spring-boot-features/32.-messaging/32.1.-jms/32.1.3-using-a-jndi-connectionfactory","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"32. 消息"},{"label":"32.1. JMS"}]},{"id":"-LewCoFu64l8q6oW_AxI","title":"32.1.4 发送消息","pathname":"/spring-boot/iv.-spring-boot-features/32.-messaging/32.1.-jms/32.1.4-sending-a-message","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"32. 消息"},{"label":"32.1. JMS"}]},{"id":"-Lc65ppGtJ3dyzYXjFUh","title":"32.1.5 接收消息","pathname":"/spring-boot/iv.-spring-boot-features/32.-messaging/32.1.-jms/32.1.5-receiving-a-message","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"32. 消息"},{"label":"32.1. JMS"}]},{"id":"-Lc65ppH4EWZPUd6UTuV","title":"32.2 AMQP","pathname":"/spring-boot/iv.-spring-boot-features/32.-messaging/32.2-amqp","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"32. 消息"}]},{"id":"-Lc65ppIiUnqwx2RgkV5","title":"32.2.1 RabbitMQ支持","pathname":"/spring-boot/iv.-spring-boot-features/32.-messaging/32.2-amqp/32.2.1-rabbitmq-support","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"32. 消息"},{"label":"32.2 AMQP"}]},{"id":"-Lc65ppJbqEVz4-mxS3Z","title":"32.2.2 发送消息","pathname":"/spring-boot/iv.-spring-boot-features/32.-messaging/32.2-amqp/32.2.2-sending-a-message","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"32. 消息"},{"label":"32.2 AMQP"}]},{"id":"-Lf7ibAHWJStMsTEa6qQ","title":"32.2.3 接收消息","pathname":"/spring-boot/iv.-spring-boot-features/32.-messaging/32.2-amqp/32.2.3-receiving-a-message","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"32. 消息"},{"label":"32.2 AMQP"}]},{"id":"-Lc65ppL8Y6tWq-oi89k","title":"32.3 Apache Kafka支持","pathname":"/spring-boot/iv.-spring-boot-features/32.-messaging/32.3-apache-kafka-support","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"32. 消息"}]},{"id":"-Lc65ppM04PNl7EVqF4X","title":"32.3.1 发送消息","pathname":"/spring-boot/iv.-spring-boot-features/32.-messaging/32.3-apache-kafka-support/32.3.1-sending-a-message","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"32. 消息"},{"label":"32.3 Apache Kafka支持"}]},{"id":"-Lc65ppNHK7Cm9d9IWzm","title":"32.3.2 接收消息","pathname":"/spring-boot/iv.-spring-boot-features/32.-messaging/32.3-apache-kafka-support/32.3.2-receiving-a-message","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"32. 消息"},{"label":"32.3 Apache Kafka支持"}]},{"id":"-Lc65ppOqtuxQX1aD1tS","title":"32.3.3 其它的Kafka属性","pathname":"/spring-boot/iv.-spring-boot-features/32.-messaging/32.3-apache-kafka-support/32.3.3-additional-kafka-properties","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"32. 消息"},{"label":"32.3 Apache Kafka支持"}]},{"id":"-Lf85njXZIrgyfKzMRbQ","title":"33. 使用RestTemplate调用REST服务","pathname":"/spring-boot/iv.-spring-boot-features/33.-calling-rest-services-with-resttemplate","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"}]},{"id":"-Lf8tl8apQm2UjubWc26","title":"33.1 自定义RestTemplate","pathname":"/spring-boot/iv.-spring-boot-features/33.-calling-rest-services-with-resttemplate/33.1-resttemplate-customization","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"33. 使用RestTemplate调用REST服务"}]},{"id":"-Lf8tl8bYgU3qTFu0EK-","title":"34. 使用WebClient调用REST服务","pathname":"/spring-boot/iv.-spring-boot-features/34.-calling-rest-services-with-webclient","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"}]},{"id":"-Lf8tl8cMhjmK0LQBTMi","title":"34.1 自定义WebClient","pathname":"/spring-boot/iv.-spring-boot-features/34.-calling-rest-services-with-webclient/34.1-webclient-customization","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"34. 使用WebClient调用REST服务"}]},{"id":"-LfSYbUOMNHOFLXj-Fsg","title":"35. 验证","pathname":"/spring-boot/iv.-spring-boot-features/35.-validation","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"}]},{"id":"-LfSYbUPu5CfHYjEGtKV","title":"36. 发送邮件","pathname":"/spring-boot/iv.-spring-boot-features/36.-sending-email","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"}]},{"id":"-LfSc8y7EaEtyDU3jUwq","title":"37. 使用JTA处理分布式事务","pathname":"/spring-boot/iv.-spring-boot-features/37.-distributed-transactions-with-jta","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"}]},{"id":"-LfSc8y8xmx5zbjU-yvF","title":"37.1 使用Atomikos事务管理器","pathname":"/spring-boot/iv.-spring-boot-features/37.-distributed-transactions-with-jta/37.1-using-an-atomikos-transaction-manager","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"37. 使用JTA处理分布式事务"}]},{"id":"-LfSfpEERcDcWT6p9fhY","title":"37.2 使用Bitronix事务管理器","pathname":"/spring-boot/iv.-spring-boot-features/37.-distributed-transactions-with-jta/37.2-using-a-bitronix-transaction-manager","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"37. 使用JTA处理分布式事务"}]},{"id":"-LfSfpEFS0Ynzyl_yc_A","title":"37.3 使用Narayana事务管理器","pathname":"/spring-boot/iv.-spring-boot-features/37.-distributed-transactions-with-jta/37.3-using-a-narayana-transaction-manager","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"37. 使用JTA处理分布式事务"}]},{"id":"-LfSfpEGKetjsc710r3Q","title":"37.4 使用J2EE管理的事务管理器","pathname":"/spring-boot/iv.-spring-boot-features/37.-distributed-transactions-with-jta/37.4-using-a-java-ee-managed-transaction-manager","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"37. 使用JTA处理分布式事务"}]},{"id":"-LfSfpEHIc3l8qkrGcRo","title":"37.5 混合XA和non-XA的JMS连接","pathname":"/spring-boot/iv.-spring-boot-features/37.-distributed-transactions-with-jta/37.5-mixing-xa-and-non-xa-jms-connections","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"37. 使用JTA处理分布式事务"}]},{"id":"-LfSfpEIbKxb2MgqH0Jg","title":"37.6 支持可替代的内嵌事务管理器","pathname":"/spring-boot/iv.-spring-boot-features/37.-distributed-transactions-with-jta/37.6-supporting-an-alternative-embedded-transaction-manager","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"37. 使用JTA处理分布式事务"}]},{"id":"-LfT3jDGKaddisigVrz6","title":"38. Hazelcast","pathname":"/spring-boot/iv.-spring-boot-features/38.-hazelcast","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"}]},{"id":"-LfT70Uig-a_9E2CxgiK","title":"39. Quartz调度器","pathname":"/spring-boot/iv.-spring-boot-features/39.-quartz-scheduler","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"}]},{"id":"-LfTD-CiAyPmP6sy-2tB","title":"40. Spring集成","pathname":"/spring-boot/iv.-spring-boot-features/40.-spring-integration","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"}]},{"id":"-LfT3jDiVEpSFBLeZNSA","title":"41. Spring Session","pathname":"/spring-boot/iv.-spring-boot-features/41.-spring-session","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"}]},{"id":"-LfUPiExoiCXS8HkBS-Q","title":"42. 基于JMX的监控和管理","pathname":"/spring-boot/iv.-spring-boot-features/42.-monitoring-and-management-over-jmx","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"}]},{"id":"-LfUPiEy2o6iPVv6s5eO","title":"43. 测试","pathname":"/spring-boot/iv.-spring-boot-features/43.-testing","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"}]},{"id":"-LfXQCAJGYZ1vKfP109t","title":"43.1 测试作用域依赖","pathname":"/spring-boot/iv.-spring-boot-features/43.-testing/43.1-test-scope-dependencies","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"43. 测试"}]},{"id":"-LfXQCAKHdbdxp5j0Ok-","title":"43.2 测试Spring应用","pathname":"/spring-boot/iv.-spring-boot-features/43.-testing/43.2-testing-spring-applications","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"43. 测试"}]},{"id":"-LfXQCALyCO2PRiBD58h","title":"43.3 测试Spring Boot应用","pathname":"/spring-boot/iv.-spring-boot-features/43.-testing/43.3-testing-spring-boot-applications","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"43. 测试"}]},{"id":"-LfXa9RBzgTqyPcA9_9F","title":"43.3.1 检测网络应用类型","pathname":"/spring-boot/iv.-spring-boot-features/43.-testing/43.3-testing-spring-boot-applications/43.3.1-detecting-web-application-type","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"43. 测试"},{"label":"43.3 测试Spring Boot应用"}]},{"id":"-LfXa9RCRBhx7JcBp1nn","title":"43.3.2 检测测试配置","pathname":"/spring-boot/iv.-spring-boot-features/43.-testing/43.3-testing-spring-boot-applications/43.3.2-detecting-test-configuration","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"43. 测试"},{"label":"43.3 测试Spring Boot应用"}]},{"id":"-LfXa9RDP10BJzrZH_ta","title":"43.3.3 排除测试配置","pathname":"/spring-boot/iv.-spring-boot-features/43.-testing/43.3-testing-spring-boot-applications/43.3.3-excluding-test-configuration","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"43. 测试"},{"label":"43.3 测试Spring Boot应用"}]},{"id":"-LfXqB_5h1_50JW5B6Xp","title":"43.3.4 使用运行的服务器测试","pathname":"/spring-boot/iv.-spring-boot-features/43.-testing/43.3-testing-spring-boot-applications/43.3.4-testing-with-a-running-server","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"43. 测试"},{"label":"43.3 测试Spring Boot应用"}]},{"id":"-LfXnV-NQnvlwSuXYsub","title":"43.3.5 模拟和监视bean","pathname":"/spring-boot/iv.-spring-boot-features/43.-testing/43.3-testing-spring-boot-applications/43.3.5-mocking-and-spying-beans","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"43. 测试"},{"label":"43.3 测试Spring Boot应用"}]},{"id":"-Lfh2BaKgxiQFzkShEDK","title":"43.3.6 自动配置测试","pathname":"/spring-boot/iv.-spring-boot-features/43.-testing/43.3-testing-spring-boot-applications/43.3.6-auto-configured-tests","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"43. 测试"},{"label":"43.3 测试Spring Boot应用"}]},{"id":"-LfhBS23xyBmySu0StDC","title":"43.3.7 自动配置的JSON测试","pathname":"/spring-boot/iv.-spring-boot-features/43.-testing/43.3-testing-spring-boot-applications/43.3.7-auto-configured-json-tests","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"43. 测试"},{"label":"43.3 测试Spring Boot应用"}]},{"id":"-LfhbWCLwmU4HtvM_i8x","title":"43.3.8 自动配置的Spring MVC测试","pathname":"/spring-boot/iv.-spring-boot-features/43.-testing/43.3-testing-spring-boot-applications/43.3.8-auto-configured-spring-mvc-tests","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"43. 测试"},{"label":"43.3 测试Spring Boot应用"}]},{"id":"-Lfhe7oRH-uZRneM77vK","title":"43.3.9 自动配置的Spring WebFlux测试","pathname":"/spring-boot/iv.-spring-boot-features/43.-testing/43.3-testing-spring-boot-applications/43.3.9-auto-configured-spring-webflux-tests","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"43. 测试"},{"label":"43.3 测试Spring Boot应用"}]},{"id":"-LfhkfYZTz2fNCB_GZqi","title":"43.3.10 自动配置的Data JPA测试","pathname":"/spring-boot/iv.-spring-boot-features/43.-testing/43.3-testing-spring-boot-applications/43.3.10-auto-configured-data-jpa-tests","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"43. 测试"},{"label":"43.3 测试Spring Boot应用"}]},{"id":"-LhPBXkat69flI2Hhwqb","title":"43.3.11 自动配置的JDBC测试","pathname":"/spring-boot/iv.-spring-boot-features/43.-testing/43.3-testing-spring-boot-applications/43.3.11-auto-configured-jdbc-tests","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"43. 测试"},{"label":"43.3 测试Spring Boot应用"}]},{"id":"-LhPBXkbz_uv51-Y5zD_","title":"43.3.12 自动配置的jOOQ测试","pathname":"/spring-boot/iv.-spring-boot-features/43.-testing/43.3-testing-spring-boot-applications/43.3.12-auto-configured-jooq-tests","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"43. 测试"},{"label":"43.3 测试Spring Boot应用"}]},{"id":"-LhPX0lmD_FoaMs0drsA","title":"43.3.13 自动配置的Data MongoDB测试","pathname":"/spring-boot/iv.-spring-boot-features/43.-testing/43.3-testing-spring-boot-applications/43.3.13-auto-configured-data-mongodb-tests","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"43. 测试"},{"label":"43.3 测试Spring Boot应用"}]},{"id":"-LhPX0lnYTzRyaJiNY3l","title":"43.3.14 自动配置的Data Neo4j测试","pathname":"/spring-boot/iv.-spring-boot-features/43.-testing/43.3-testing-spring-boot-applications/43.3.14-auto-configured-data-neo4j-tests","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"43. 测试"},{"label":"43.3 测试Spring Boot应用"}]},{"id":"-LhPX0loKWmjcGOfrPnH","title":"43.3.15 自动配置的Data Redis测试","pathname":"/spring-boot/iv.-spring-boot-features/43.-testing/43.3-testing-spring-boot-applications/43.3.15-auto-configured-data-redis-tests","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"43. 测试"},{"label":"43.3 测试Spring Boot应用"}]},{"id":"-LhPX0lpU9jh37t5_-ws","title":"43.3.16 自动配置的Data LDAP测试","pathname":"/spring-boot/iv.-spring-boot-features/43.-testing/43.3-testing-spring-boot-applications/43.3.16-auto-configured-data-ldap-tests","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"43. 测试"},{"label":"43.3 测试Spring Boot应用"}]},{"id":"-LhPX0lqmpODn5PKF-Yu","title":"43.3.17 自动配置的REST客户端","pathname":"/spring-boot/iv.-spring-boot-features/43.-testing/43.3-testing-spring-boot-applications/43.3.17-auto-configured-rest-clients","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"43. 测试"},{"label":"43.3 测试Spring Boot应用"}]},{"id":"-LhP_XKHz_TTRscdruCX","title":"43.3.18 自动配置的Spring REST Docs测试","pathname":"/spring-boot/iv.-spring-boot-features/43.-testing/43.3-testing-spring-boot-applications/43.3.18-auto-configured-spring-rest-docs-tests","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"43. 测试"},{"label":"43.3 测试Spring Boot应用"}]},{"id":"-LhQC0-5-nSyt6cZKyrs","title":"43.3.19 用户配置与切片","pathname":"/spring-boot/iv.-spring-boot-features/43.-testing/43.3-testing-spring-boot-applications/43.3.19-user-configuration-and-slicing","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"43. 测试"},{"label":"43.3 测试Spring Boot应用"}]},{"id":"-Lh_6xcUXTeDfzN8RaFk","title":"43.3.20 使用Spock测试Spring Boot应用","pathname":"/spring-boot/iv.-spring-boot-features/43.-testing/43.3-testing-spring-boot-applications/43.3.20-using-spock-to-test-spring-boot-applications","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"43. 测试"},{"label":"43.3 测试Spring Boot应用"}]},{"id":"-LisClUjzNPQQ2tkW-iz","title":"43.4 测试工具类","pathname":"/spring-boot/iv.-spring-boot-features/43.-testing/43.4-test-utilities","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"43. 测试"}]},{"id":"-LisClUkYrbwxkM88OWF","title":"43.4.1 ConfigFileApplicationContextInitializer","pathname":"/spring-boot/iv.-spring-boot-features/43.-testing/43.4-test-utilities/43.4.1-configfileapplicationcontextinitializer","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"43. 测试"},{"label":"43.4 测试工具类"}]},{"id":"-LisClUlGspBJaW_3ADW","title":"43.4.2 EnvironmentTestUtils","pathname":"/spring-boot/iv.-spring-boot-features/43.-testing/43.4-test-utilities/43.4.2-environmenttestutils","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"43. 测试"},{"label":"43.4 测试工具类"}]},{"id":"-LisClUm3Jd25hQtp_wo","title":"43.4.3 OutputCapture","pathname":"/spring-boot/iv.-spring-boot-features/43.-testing/43.4-test-utilities/43.4.3-outputcapture","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"43. 测试"},{"label":"43.4 测试工具类"}]},{"id":"-LisClUnH0V73w8EICkr","title":"43.4.4 TestRestTemplate","pathname":"/spring-boot/iv.-spring-boot-features/43.-testing/43.4-test-utilities/43.4.4-testresttemplate","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"43. 测试"},{"label":"43.4 测试工具类"}]},{"id":"-LjALvBbhnnCHgv2DSOA","title":"44. WebSockets","pathname":"/spring-boot/iv.-spring-boot-features/44.-websockets","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"}]},{"id":"-LjALvBccmAcJGXss-bc","title":"45. Web Services","pathname":"/spring-boot/iv.-spring-boot-features/45.-web-services","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"}]},{"id":"-LjANIZmX2GfdlB3fjTa","title":"46. 创建自己的自动配置","pathname":"/spring-boot/iv.-spring-boot-features/46.-creating-your-own-auto-configuration","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"}]},{"id":"-LjAOoJprODWddvhVGF_","title":"46.1 理解自动配置的bean","pathname":"/spring-boot/iv.-spring-boot-features/46.-creating-your-own-auto-configuration/46.1-understanding-auto-configured-beans","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"46. 创建自己的自动配置"}]},{"id":"-LjAQMWRYRhUEv4lls69","title":"46.2 定位自动配置候选者","pathname":"/spring-boot/iv.-spring-boot-features/46.-creating-your-own-auto-configuration/46.2-locating-auto-configuration-candidates","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"46. 创建自己的自动配置"}]},{"id":"-LjASXXuAKWLie3qqd8e","title":"46.3 条件注解","pathname":"/spring-boot/iv.-spring-boot-features/46.-creating-your-own-auto-configuration/46.3-condition-annotations","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"46. 创建自己的自动配置"}]},{"id":"-LjAUzj-jNQ6pPetI19k","title":"46.3.1 Class条件","pathname":"/spring-boot/iv.-spring-boot-features/46.-creating-your-own-auto-configuration/46.3-condition-annotations/46.3.1-class-conditions","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"46. 创建自己的自动配置"},{"label":"46.3 条件注解"}]},{"id":"-LjAX5SqYiBoThNLlLjA","title":"46.3.2 Bean条件","pathname":"/spring-boot/iv.-spring-boot-features/46.-creating-your-own-auto-configuration/46.3-condition-annotations/46.3.2-bean-conditions","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"46. 创建自己的自动配置"},{"label":"46.3 条件注解"}]},{"id":"-LjAX5SrwZXqQT71-hJI","title":"46.3.3 Property条件","pathname":"/spring-boot/iv.-spring-boot-features/46.-creating-your-own-auto-configuration/46.3-condition-annotations/46.3.3-property-conditions","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"46. 创建自己的自动配置"},{"label":"46.3 条件注解"}]},{"id":"-LjAZ5blWmflVud_WDNV","title":"46.3.4 Resource条件","pathname":"/spring-boot/iv.-spring-boot-features/46.-creating-your-own-auto-configuration/46.3-condition-annotations/46.3.4-resource-conditions","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"46. 创建自己的自动配置"},{"label":"46.3 条件注解"}]},{"id":"-LjAZ5bmrqSh4M90SSeP","title":"46.3.5 Web Application条件","pathname":"/spring-boot/iv.-spring-boot-features/46.-creating-your-own-auto-configuration/46.3-condition-annotations/46.3.5-web-application-conditions","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"46. 创建自己的自动配置"},{"label":"46.3 条件注解"}]},{"id":"-LjAZ5bnlkJbH-yEnQyn","title":"46.3.6 SpEL表达式条件","pathname":"/spring-boot/iv.-spring-boot-features/46.-creating-your-own-auto-configuration/46.3-condition-annotations/46.3.6-spel-expression-conditions","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"46. 创建自己的自动配置"},{"label":"46.3 条件注解"}]},{"id":"-LjHCr_3BubkG-_6A9yT","title":"46.4 测试你的自动配置","pathname":"/spring-boot/iv.-spring-boot-features/46.-creating-your-own-auto-configuration/46.4-testing-your-auto-configuration","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"46. 创建自己的自动配置"}]},{"id":"-LjHCr_42K7o4qvS7FPT","title":"46.4.1 模拟网络上下文","pathname":"/spring-boot/iv.-spring-boot-features/46.-creating-your-own-auto-configuration/46.4-testing-your-auto-configuration/46.4.1-simulating-a-web-context","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"46. 创建自己的自动配置"},{"label":"46.4 测试你的自动配置"}]},{"id":"-LjJhvZdOYe9M2S35zoc","title":"46.4.2 覆盖类路径","pathname":"/spring-boot/iv.-spring-boot-features/46.-creating-your-own-auto-configuration/46.4-testing-your-auto-configuration/46.4.2-overriding-the-classpath","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"46. 创建自己的自动配置"},{"label":"46.4 测试你的自动配置"}]},{"id":"-LjJqmsQWNhLcdr75ucG","title":"46.5 创建自己的starter","pathname":"/spring-boot/iv.-spring-boot-features/46.-creating-your-own-auto-configuration/46.5-creating-your-own-starter","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"46. 创建自己的自动配置"}]},{"id":"-LjJtsc2E_BPu9L07pW0","title":"46.5.1 命名","pathname":"/spring-boot/iv.-spring-boot-features/46.-creating-your-own-auto-configuration/46.5-creating-your-own-starter/46.5.1-naming","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"46. 创建自己的自动配置"},{"label":"46.5 创建自己的starter"}]},{"id":"-LjKGU0G02s8J6ukZ8ei","title":"46.5.2 自动配置模块","pathname":"/spring-boot/iv.-spring-boot-features/46.-creating-your-own-auto-configuration/46.5-creating-your-own-starter/46.5.2-autoconfigure-module","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"46. 创建自己的自动配置"},{"label":"46.5 创建自己的starter"}]},{"id":"-LjKO57TDdy4awZcMEJ2","title":"46.5.3 Starter模块","pathname":"/spring-boot/iv.-spring-boot-features/46.-creating-your-own-auto-configuration/46.5-creating-your-own-starter/46.5.3-starter-module","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"46. 创建自己的自动配置"},{"label":"46.5 创建自己的starter"}]},{"id":"-LjYxN0J7D_4FxWQieK7","title":"47. Kotlin支持","pathname":"/spring-boot/iv.-spring-boot-features/47.-kotlin-support","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"}]},{"id":"-LjYxN0K-Lb6oeiWqDer","title":"47.1 要求","pathname":"/spring-boot/iv.-spring-boot-features/47.-kotlin-support/47.1-requirements","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"47. Kotlin支持"}]},{"id":"-LjdDErbzwtWeJRjyrNg","title":"47.2 空安全","pathname":"/spring-boot/iv.-spring-boot-features/47.-kotlin-support/47.2-null-safety","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"47. Kotlin支持"}]},{"id":"-LjYxN0Mu_48ZwGtxSye","title":"47.3 Kotlin API","pathname":"/spring-boot/iv.-spring-boot-features/47.-kotlin-support/47.3-kotlin-api","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"47. Kotlin支持"}]},{"id":"-LjYxN0NKEy2seIZkjWC","title":"47.3.1 runApplication","pathname":"/spring-boot/iv.-spring-boot-features/47.-kotlin-support/47.3-kotlin-api/47.3.1-runapplication","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"47. Kotlin支持"},{"label":"47.3 Kotlin API"}]},{"id":"-Ljoi0mzxRWAViCUN9XO","title":"47.3.2 扩展","pathname":"/spring-boot/iv.-spring-boot-features/47.-kotlin-support/47.3-kotlin-api/47.3.2-extensions","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"47. Kotlin支持"},{"label":"47.3 Kotlin API"}]},{"id":"-LjouDFCM5Me2_fH-Ok7","title":"47.4 依赖管理","pathname":"/spring-boot/iv.-spring-boot-features/47.-kotlin-support/47.4-dependency-management","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"47. Kotlin支持"}]},{"id":"-LjYxN0Q_DOSXVRyZmDi","title":"47.5 @ConfigurationProperties","pathname":"/spring-boot/iv.-spring-boot-features/47.-kotlin-support/47.5-configurationproperties","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"47. Kotlin支持"}]},{"id":"-Lk1mfkSupLtxzQGrj_u","title":"47.6 测试","pathname":"/spring-boot/iv.-spring-boot-features/47.-kotlin-support/47.6-testing","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"47. Kotlin支持"}]},{"id":"-LjYxN0S09mNLO6Hp8JW","title":"47.7 资源","pathname":"/spring-boot/iv.-spring-boot-features/47.-kotlin-support/47.7-zi-yuan","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"47. Kotlin支持"}]},{"id":"-Lk1mfkUmOnKJw4D-HPx","title":"47.7.1 延伸阅读","pathname":"/spring-boot/iv.-spring-boot-features/47.-kotlin-support/47.7-zi-yuan/47.7.1-further-reading","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"47. Kotlin支持"},{"label":"47.7 资源"}]},{"id":"-Lk1qjMHWRcM9nsQb0Tk","title":"47.7.2 示例","pathname":"/spring-boot/iv.-spring-boot-features/47.-kotlin-support/47.7-zi-yuan/47.7.2-examples","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"},{"label":"47. Kotlin支持"},{"label":"47.7 资源"}]},{"id":"-Lk1tWb8xlsCuQMEpIiI","title":"48. 接下来阅读什么","pathname":"/spring-boot/iv.-spring-boot-features/48.-what-to-read-next","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IV. Spring Boot特性"}]},{"id":"-Lc65pqKqPqsMz2Z5uJ-","title":"V. Spring Boot执行器：用于生产环境的特性","pathname":"/spring-boot/v.-spring-boot-actuator","siteSpaceId":"sitesp_Vs35t","description":""},{"id":"-Lk78IqT-UIWsW6g-k50","title":"49. 开启用于生产环境的特性","pathname":"/spring-boot/v.-spring-boot-actuator/49.-enabling-production-ready-features","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"}]},{"id":"-LkDixVfOrIzxuRnFxiF","title":"50. 端点","pathname":"/spring-boot/v.-spring-boot-actuator/50.-endpoints","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"}]},{"id":"-LkMgn-fagcVbveTBghO","title":"50.1 启用端点","pathname":"/spring-boot/v.-spring-boot-actuator/50.-endpoints/50.1-enabling-endpoints","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"50. 端点"}]},{"id":"-LkNsQ2K_0qgFus76wDY","title":"50.2 暴露端点","pathname":"/spring-boot/v.-spring-boot-actuator/50.-endpoints/50.2-exposing-endpoints","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"50. 端点"}]},{"id":"-LkRjU7V2jnnqTNnSB6-","title":"50.3 加密HTTP端点","pathname":"/spring-boot/v.-spring-boot-actuator/50.-endpoints/50.3-securing-http-endpoints","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"50. 端点"}]},{"id":"-Lkb1IqhlnFHBqu7lBfa","title":"50.4 配置端点","pathname":"/spring-boot/v.-spring-boot-actuator/50.-endpoints/50.4-configuring-endpoints","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"50. 端点"}]},{"id":"-Lkb9EIkv_kKDT4QtSuP","title":"50.5 执行器网络端点的超媒体支持","pathname":"/spring-boot/v.-spring-boot-actuator/50.-endpoints/50.5-hypermedia-for-actuator-web-endpoints","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"50. 端点"}]},{"id":"-LkbqBfu_l56vz93P0dD","title":"50.6 执行器网络端点路径","pathname":"/spring-boot/v.-spring-boot-actuator/50.-endpoints/50.6-actuator-web-endpoint-paths","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"50. 端点"}]},{"id":"-LkhNhZhYV5OdAqnwfjU","title":"50.7 CORS支持","pathname":"/spring-boot/v.-spring-boot-actuator/50.-endpoints/50.7-cors-support","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"50. 端点"}]},{"id":"-Ll4cInW6vI74BRmH6La","title":"50.8 实现自定义端点","pathname":"/spring-boot/v.-spring-boot-actuator/50.-endpoints/50.8-implementing-custom-endpoints","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"50. 端点"}]},{"id":"-Ll5dprWOhzzF-S21lmP","title":"50.8.1 接收输入","pathname":"/spring-boot/v.-spring-boot-actuator/50.-endpoints/50.8-implementing-custom-endpoints/50.8.1-receiving-input","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"50. 端点"},{"label":"50.8 实现自定义端点"}]},{"id":"-Ll5dprXYTfv6EdoauLA","title":"50.8.2 自定义网络端点","pathname":"/spring-boot/v.-spring-boot-actuator/50.-endpoints/50.8-implementing-custom-endpoints/50.8.2-custom-web-endpoints","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"50. 端点"},{"label":"50.8 实现自定义端点"}]},{"id":"-LlGq8RGoE_1n6tfakwq","title":"50.8.3 Servlet端点","pathname":"/spring-boot/v.-spring-boot-actuator/50.-endpoints/50.8-implementing-custom-endpoints/50.8.3-servlet-endpoints","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"50. 端点"},{"label":"50.8 实现自定义端点"}]},{"id":"-LlVgw_xfdGIQNcrnzV_","title":"50.8.4 Controller端点","pathname":"/spring-boot/v.-spring-boot-actuator/50.-endpoints/50.8-implementing-custom-endpoints/50.8.4-controller-endpoints","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"50. 端点"},{"label":"50.8 实现自定义端点"}]},{"id":"-LlipXycJmA9WFYyFux6","title":"50.9 健康信息","pathname":"/spring-boot/v.-spring-boot-actuator/50.-endpoints/50.9-health-information","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"50. 端点"}]},{"id":"-LlitKABde5145X9RSr2","title":"50.9.1 自动配置的HealthIndicator","pathname":"/spring-boot/v.-spring-boot-actuator/50.-endpoints/50.9-health-information/50.9.1-auto-configured-healthindicators","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"50. 端点"},{"label":"50.9 健康信息"}]},{"id":"-Llve5lJ3-Vu0rHFzfZd","title":"50.9.2 编写自定义HealthIndicator","pathname":"/spring-boot/v.-spring-boot-actuator/50.-endpoints/50.9-health-information/50.9.2-writing-custom-healthindicators","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"50. 端点"},{"label":"50.9 健康信息"}]},{"id":"-Llvm8s8g01SLl0xMxx2","title":"50.9.3 响应式的健康指示器","pathname":"/spring-boot/v.-spring-boot-actuator/50.-endpoints/50.9-health-information/50.9.3-reactive-health-indicators","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"50. 端点"},{"label":"50.9 健康信息"}]},{"id":"-Lm04m40710WZqaOuzzB","title":"50.9.4 自动配置的ReactiveHealthIndicators","pathname":"/spring-boot/v.-spring-boot-actuator/50.-endpoints/50.9-health-information/50.9.4-auto-configured-reactivehealthindicators","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"50. 端点"},{"label":"50.9 健康信息"}]},{"id":"-Lm2Qki82tejdxjNSH07","title":"50.10 应用信息","pathname":"/spring-boot/v.-spring-boot-actuator/50.-endpoints/50.10-application-information","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"50. 端点"}]},{"id":"-Lm2SDZUIYCNSMQCNDya","title":"50.10.1 自动配置的InfoContributors","pathname":"/spring-boot/v.-spring-boot-actuator/50.-endpoints/50.10-application-information/50.10.1-auto-configured-infocontributors","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"50. 端点"},{"label":"50.10 应用信息"}]},{"id":"-Lm2_sEMk7RzKtQnl-9a","title":"50.10.2 自定义应用信息","pathname":"/spring-boot/v.-spring-boot-actuator/50.-endpoints/50.10-application-information/50.10.2-custom-application-information","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"50. 端点"},{"label":"50.10 应用信息"}]},{"id":"-Lm2V_wd8mU0EFPYxb1M","title":"50.10.3 Git提交信息","pathname":"/spring-boot/v.-spring-boot-actuator/50.-endpoints/50.10-application-information/50.10.3-git-commit-information","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"50. 端点"},{"label":"50.10 应用信息"}]},{"id":"-Lm2V_weo9oMDH6vhtDn","title":"50.10.4 构建信息","pathname":"/spring-boot/v.-spring-boot-actuator/50.-endpoints/50.10-application-information/50.10.4-build-information","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"50. 端点"},{"label":"50.10 应用信息"}]},{"id":"-Lm2XA-7uwQRJwzjRAtO","title":"50.10.5 编写自定义的InfoContributor","pathname":"/spring-boot/v.-spring-boot-actuator/50.-endpoints/50.10-application-information/50.10.5-writing-custom-infocontributors","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"50. 端点"},{"label":"50.10 应用信息"}]},{"id":"-LmUrfUPTKNe3I8jBQ5t","title":"51. 基于HTTP的监控和管理","pathname":"/spring-boot/v.-spring-boot-actuator/51.-monitoring-and-management-over-http","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"}]},{"id":"-LmUxZTojZNcoi3wCvAg","title":"51.1 自定义管理端点路径","pathname":"/spring-boot/v.-spring-boot-actuator/51.-monitoring-and-management-over-http/51.1-customizing-the-management-endpoint-paths","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"51. 基于HTTP的监控和管理"}]},{"id":"-Lmh0P6QmWNoJU4ksDY_","title":"51.2 自定义管理服务器端口","pathname":"/spring-boot/v.-spring-boot-actuator/51.-monitoring-and-management-over-http/51.2-customizing-the-management-server-port","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"51. 基于HTTP的监控和管理"}]},{"id":"-LmbSrhYEcLOUvZ6abHu","title":"51.3 配置管理相关的SSL","pathname":"/spring-boot/v.-spring-boot-actuator/51.-monitoring-and-management-over-http/51.3-configuring-management-specific-ssl","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"51. 基于HTTP的监控和管理"}]},{"id":"-LmgfJymeTK5ESz5VpJT","title":"51.4 自定义管理服务器地址","pathname":"/spring-boot/v.-spring-boot-actuator/51.-monitoring-and-management-over-http/51.4-customizing-the-management-server-address","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"51. 基于HTTP的监控和管理"}]},{"id":"-Lmh27Q44BO9eiq3hgDR","title":"51.5 禁用HTTP端点","pathname":"/spring-boot/v.-spring-boot-actuator/51.-monitoring-and-management-over-http/51.5-disabling-http-endpoints","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"51. 基于HTTP的监控和管理"}]},{"id":"-LnBFTio--RNw39yIT0l","title":"52. 基于JMX的监控和管理","pathname":"/spring-boot/v.-spring-boot-actuator/52.-monitoring-and-management-over-jmx","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"}]},{"id":"-LnBHb_7GW-P3Ui-VtWU","title":"52.1 自定义MBean名称","pathname":"/spring-boot/v.-spring-boot-actuator/52.-monitoring-and-management-over-jmx/52.1-customizing-mbean-names","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"52. 基于JMX的监控和管理"}]},{"id":"-LnBHb_8FX4ou1FGj0Tc","title":"52.2 禁用JMX端点","pathname":"/spring-boot/v.-spring-boot-actuator/52.-monitoring-and-management-over-jmx/52.2-disabling-jmx-endpoints","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"52. 基于JMX的监控和管理"}]},{"id":"-LnGDAqG6YAmEf3igZp1","title":"52.3 使用Jolokia通过HTTP实现JMX远程管理","pathname":"/spring-boot/v.-spring-boot-actuator/52.-monitoring-and-management-over-jmx/52.3-using-jolokia-for-jmx-over-http","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"52. 基于JMX的监控和管理"}]},{"id":"-LnGE7ShkcIh66I33M_J","title":"52.3.1 自定义Jolokia","pathname":"/spring-boot/v.-spring-boot-actuator/52.-monitoring-and-management-over-jmx/52.3-using-jolokia-for-jmx-over-http/52.3.1-customizing-jolokia","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"52. 基于JMX的监控和管理"},{"label":"52.3 使用Jolokia通过HTTP实现JMX远程管理"}]},{"id":"-LnGFRTYhwa2Xitp6lKt","title":"52.3.2 禁用Jolokia","pathname":"/spring-boot/v.-spring-boot-actuator/52.-monitoring-and-management-over-jmx/52.3-using-jolokia-for-jmx-over-http/52.3.2-disabling-jolokia","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"52. 基于JMX的监控和管理"},{"label":"52.3 使用Jolokia通过HTTP实现JMX远程管理"}]},{"id":"-LnLr4LBoL4OFCXcbG6g","title":"53. 记录器","pathname":"/spring-boot/v.-spring-boot-actuator/53.-loggers","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"}]},{"id":"-LnLr4LCZyAwqgpQdnts","title":"53.1 配置记录器","pathname":"/spring-boot/v.-spring-boot-actuator/53.-loggers/53.1-configure-a-logger","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"53. 记录器"}]},{"id":"-LnR7XvruuxRjEGkP5J0","title":"54. 度量指标","pathname":"/spring-boot/v.-spring-boot-actuator/54.-metrics","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"}]},{"id":"-LnWCNxnAwwUG-nba9Le","title":"54.1 入门指南","pathname":"/spring-boot/v.-spring-boot-actuator/54.-metrics/54.1-getting-started","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"54. 度量指标"}]},{"id":"-LnmACn5b8PjJaJ4TCAn","title":"54.2 支持的监控系统","pathname":"/spring-boot/v.-spring-boot-actuator/54.-metrics/54.2-zhi-chi-de-jian-kong-xi-tong","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"54. 度量指标"}]},{"id":"-LnmACn6ZiIe5ONUfFnF","title":"54.2.1 Atlas","pathname":"/spring-boot/v.-spring-boot-actuator/54.-metrics/54.2-zhi-chi-de-jian-kong-xi-tong/54.2.1-atlas","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"54. 度量指标"},{"label":"54.2 支持的监控系统"}]},{"id":"-LnmACn763CwiL2_D7gy","title":"54.2.2 Datadog","pathname":"/spring-boot/v.-spring-boot-actuator/54.-metrics/54.2-zhi-chi-de-jian-kong-xi-tong/54.2.2-datadog","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"54. 度量指标"},{"label":"54.2 支持的监控系统"}]},{"id":"-LnmACn8IoydtjKDbqy0","title":"54.2.3 Ganglia","pathname":"/spring-boot/v.-spring-boot-actuator/54.-metrics/54.2-zhi-chi-de-jian-kong-xi-tong/54.2.3-ganglia","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"54. 度量指标"},{"label":"54.2 支持的监控系统"}]},{"id":"-LnmACn9dmdadxVvRpK1","title":"54.2.4 Graphite","pathname":"/spring-boot/v.-spring-boot-actuator/54.-metrics/54.2-zhi-chi-de-jian-kong-xi-tong/54.2.4-graphite","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"54. 度量指标"},{"label":"54.2 支持的监控系统"}]},{"id":"-LnmACnAeIXidRTktFCU","title":"54.2.5 Influx","pathname":"/spring-boot/v.-spring-boot-actuator/54.-metrics/54.2-zhi-chi-de-jian-kong-xi-tong/54.2.5-influx","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"54. 度量指标"},{"label":"54.2 支持的监控系统"}]},{"id":"-LnmACnBF2pRxH2y0QDD","title":"54.2.6 JMX","pathname":"/spring-boot/v.-spring-boot-actuator/54.-metrics/54.2-zhi-chi-de-jian-kong-xi-tong/54.2.6-jmx","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"54. 度量指标"},{"label":"54.2 支持的监控系统"}]},{"id":"-LnmACnCvp7G__M_jy9G","title":"54.2.7 New Relic","pathname":"/spring-boot/v.-spring-boot-actuator/54.-metrics/54.2-zhi-chi-de-jian-kong-xi-tong/54.2.7-new-relic","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"54. 度量指标"},{"label":"54.2 支持的监控系统"}]},{"id":"-LnmACnDH93j41fLEdlH","title":"54.2.8 Prometheus","pathname":"/spring-boot/v.-spring-boot-actuator/54.-metrics/54.2-zhi-chi-de-jian-kong-xi-tong/54.2.8-prometheus","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"54. 度量指标"},{"label":"54.2 支持的监控系统"}]},{"id":"-LnmACnEPNxKkR93vxFa","title":"54.2.9 SignalFx","pathname":"/spring-boot/v.-spring-boot-actuator/54.-metrics/54.2-zhi-chi-de-jian-kong-xi-tong/54.2.9-signalfx","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"54. 度量指标"},{"label":"54.2 支持的监控系统"}]},{"id":"-LnmACnFDSpmT7fV_bTA","title":"54.2.10 Simple","pathname":"/spring-boot/v.-spring-boot-actuator/54.-metrics/54.2-zhi-chi-de-jian-kong-xi-tong/54.2.10-simple","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"54. 度量指标"},{"label":"54.2 支持的监控系统"}]},{"id":"-LnmACnGmdtpYU8YbKfH","title":"54.2.11 StatsD","pathname":"/spring-boot/v.-spring-boot-actuator/54.-metrics/54.2-zhi-chi-de-jian-kong-xi-tong/54.2.11-statsd","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"54. 度量指标"},{"label":"54.2 支持的监控系统"}]},{"id":"-LnmACnH_nkZzBg-biqZ","title":"54.2.12 Wavefront","pathname":"/spring-boot/v.-spring-boot-actuator/54.-metrics/54.2-zhi-chi-de-jian-kong-xi-tong/54.2.12-wavefront","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"54. 度量指标"},{"label":"54.2 支持的监控系统"}]},{"id":"-LqAf0Vp5ksXFKbdw138","title":"54.3 支持的指标","pathname":"/spring-boot/v.-spring-boot-actuator/54.-metrics/54.3-supported-metrics","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"54. 度量指标"}]},{"id":"-LqAm-tWhGhoR9eO7bDa","title":"54.3.1 Spring MVC指标","pathname":"/spring-boot/v.-spring-boot-actuator/54.-metrics/54.3-supported-metrics/54.3.1-spring-mvc-metrics","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"54. 度量指标"},{"label":"54.3 支持的指标"}]},{"id":"-LrSVstnBtlKfybNWEVP","title":"54.3.2 Spring WebFlux指标","pathname":"/spring-boot/v.-spring-boot-actuator/54.-metrics/54.3-supported-metrics/54.3.2-spring-webflux-metrics","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"54. 度量指标"},{"label":"54.3 支持的指标"}]},{"id":"-LrSXrv-Y_LwYandUT2c","title":"54.3.3 RestTemplate指标","pathname":"/spring-boot/v.-spring-boot-actuator/54.-metrics/54.3-supported-metrics/54.3.3-resttemplate-metrics","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"54. 度量指标"},{"label":"54.3 支持的指标"}]},{"id":"-LrSYyCuRBF4LWXtk0jn","title":"54.3.4 Spring集成指标","pathname":"/spring-boot/v.-spring-boot-actuator/54.-metrics/54.3-supported-metrics/54.3.4-spring-integration-metrics","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"54. 度量指标"},{"label":"54.3 支持的指标"}]},{"id":"-LrSbnq8NQpYEnXxn276","title":"54.3.5 缓存指标","pathname":"/spring-boot/v.-spring-boot-actuator/54.-metrics/54.3-supported-metrics/54.3.5-cache-metrics","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"54. 度量指标"},{"label":"54.3 支持的指标"}]},{"id":"-LrSe2f6y940YyrISBGT","title":"54.3.6 数据源指标","pathname":"/spring-boot/v.-spring-boot-actuator/54.-metrics/54.3-supported-metrics/54.3.6-datasource-metrics","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"54. 度量指标"},{"label":"54.3 支持的指标"}]},{"id":"-LrSe2f7gl5LeWgOxlp8","title":"54.3.7 RabbitMQ指标","pathname":"/spring-boot/v.-spring-boot-actuator/54.-metrics/54.3-supported-metrics/54.3.7-rabbitmq-metrics","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"54. 度量指标"},{"label":"54.3 支持的指标"}]},{"id":"-LrwMWOtLpb18CLtSUbj","title":"54.4 注册自定义指标","pathname":"/spring-boot/v.-spring-boot-actuator/54.-metrics/54.4-registering-custom-metrics","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"54. 度量指标"}]},{"id":"-LrwPTvtTGYweUGzpGcE","title":"54.5 自定义单个指标","pathname":"/spring-boot/v.-spring-boot-actuator/54.-metrics/54.5-customizing-individual-metrics","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"54. 度量指标"}]},{"id":"-LrwVaK859AvapcglWNj","title":"54.5.1 Per-meter属性","pathname":"/spring-boot/v.-spring-boot-actuator/54.-metrics/54.5-customizing-individual-metrics/54.5.1-per-meter-properties","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"54. 度量指标"},{"label":"54.5 自定义单个指标"}]},{"id":"-LrwYnFe-ygStWV-VvsE","title":"54.6 度量端点","pathname":"/spring-boot/v.-spring-boot-actuator/54.-metrics/54.6-metrics-endpoint","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"54. 度量指标"}]},{"id":"-Ls11nNwemdokzYXoVII","title":"55. 审计","pathname":"/spring-boot/v.-spring-boot-actuator/55.-auditing","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"}]},{"id":"-Ls13uzL5EQGOGK1x5nL","title":"56. HTTP追踪","pathname":"/spring-boot/v.-spring-boot-actuator/56.-http-tracing","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"}]},{"id":"-Ls186O2Y_dKH4ILjJXj","title":"56.1 自定义HTTP追踪","pathname":"/spring-boot/v.-spring-boot-actuator/56.-http-tracing/56.1-custom-http-tracing","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"56. HTTP追踪"}]},{"id":"-LsgKZPFj1yFF3NQYm5-","title":"57. 进程监控","pathname":"/spring-boot/v.-spring-boot-actuator/57.-process-monitoring","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"}]},{"id":"-LsgKZPGXBcZEJR10n5D","title":"57.1 扩展配置","pathname":"/spring-boot/v.-spring-boot-actuator/57.-process-monitoring/57.1-extend-configuration","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"57. 进程监控"}]},{"id":"-LsgM6BrAoj1WWr_l7Tz","title":"57.2 以编程方式","pathname":"/spring-boot/v.-spring-boot-actuator/57.-process-monitoring/57.2-programmatically","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"57. 进程监控"}]},{"id":"-LsgOkpfssEdQxOpfKW_","title":"58. Cloud Foundry支持","pathname":"/spring-boot/v.-spring-boot-actuator/58.-cloud-foundry-support","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"}]},{"id":"-LsgSRnr5wguPdm_isWw","title":"58.1 禁用扩展的Cloud Foundry执行器支持","pathname":"/spring-boot/v.-spring-boot-actuator/58.-cloud-foundry-support/58.1-disabling-extended-cloud-foundry-actuator-support","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"58. Cloud Foundry支持"}]},{"id":"-LsgSRnstQ_GBpAFraTA","title":"58.2 Cloud Foundry自签名证书","pathname":"/spring-boot/v.-spring-boot-actuator/58.-cloud-foundry-support/58.2-cloud-foundry-self-signed-certificates","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"58. Cloud Foundry支持"}]},{"id":"-LsgYtkE8hm5S8kXLXG7","title":"58.3 自定义上下文路径","pathname":"/spring-boot/v.-spring-boot-actuator/58.-cloud-foundry-support/58.3-custom-context-path","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"},{"label":"58. Cloud Foundry支持"}]},{"id":"-LsgSRnuhflnKC1v4pzE","title":"59. 接下来阅读什么","pathname":"/spring-boot/v.-spring-boot-actuator/59.-what-to-read-next","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"V. Spring Boot执行器：用于生产环境的特性"}]},{"id":"-LtIhHVNTto7yV-dGzKL","title":"VI. 部署到云端","pathname":"/spring-boot/vi.-deploying-spring-boot-applications","siteSpaceId":"sitesp_Vs35t","description":""},{"id":"-LtIm1RfK1tOhpxlPVeL","title":"60. 部署到云端","pathname":"/spring-boot/vi.-deploying-spring-boot-applications/60.-deploying-to-the-cloud","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VI. 部署到云端"}]},{"id":"-LtIm1RgJ7fz62q4ekBZ","title":"60.1 Cloud Foundry","pathname":"/spring-boot/vi.-deploying-spring-boot-applications/60.-deploying-to-the-cloud/60.1-cloud-foundry","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VI. 部署到云端"},{"label":"60. 部署到云端"}]},{"id":"-LtIrSpeV1yZvBHoTaiY","title":"60.1.1 绑定服务","pathname":"/spring-boot/vi.-deploying-spring-boot-applications/60.-deploying-to-the-cloud/60.1-cloud-foundry/60.1.1-binding-to-services","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VI. 部署到云端"},{"label":"60. 部署到云端"},{"label":"60.1 Cloud Foundry"}]},{"id":"-LtIm1RidZ6UYSZ_0uJ_","title":"60.2 Heroku","pathname":"/spring-boot/vi.-deploying-spring-boot-applications/60.-deploying-to-the-cloud/60.2-heroku","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VI. 部署到云端"},{"label":"60. 部署到云端"}]},{"id":"-LtIm1Rjy9CM_iAkO8xc","title":"60.3 Openshift","pathname":"/spring-boot/vi.-deploying-spring-boot-applications/60.-deploying-to-the-cloud/60.3-openshift","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VI. 部署到云端"},{"label":"60. 部署到云端"}]},{"id":"-LtrrRULspWYhN-dhApQ","title":"60.4 亚马逊网络服务(AWS)","pathname":"/spring-boot/vi.-deploying-spring-boot-applications/60.-deploying-to-the-cloud/60.4-amazon-web-services-aws","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VI. 部署到云端"},{"label":"60. 部署到云端"}]},{"id":"-LtrrRUMXZjjlFbnW2cz","title":"60.4.1 AWS Elastic Beanstalk","pathname":"/spring-boot/vi.-deploying-spring-boot-applications/60.-deploying-to-the-cloud/60.4-amazon-web-services-aws/60.4.1-aws-elastic-beanstalk","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VI. 部署到云端"},{"label":"60. 部署到云端"},{"label":"60.4 亚马逊网络服务(AWS)"}]},{"id":"-Ltrv1Xrhixu9410WhPE","title":"60.4.2 总结","pathname":"/spring-boot/vi.-deploying-spring-boot-applications/60.-deploying-to-the-cloud/60.4-amazon-web-services-aws/60.4.2-summary","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VI. 部署到云端"},{"label":"60. 部署到云端"},{"label":"60.4 亚马逊网络服务(AWS)"}]},{"id":"-Lts-36ikA3VejkkfF-F","title":"60.5 Boxfuse和亚马逊网络服务","pathname":"/spring-boot/vi.-deploying-spring-boot-applications/60.-deploying-to-the-cloud/60.5-boxfuse-and-amazon-web-services","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VI. 部署到云端"},{"label":"60. 部署到云端"}]},{"id":"-Lts511HT6gtfLQJwU-t","title":"60.6 Google Cloud","pathname":"/spring-boot/vi.-deploying-spring-boot-applications/60.-deploying-to-the-cloud/60.6-google-cloud","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VI. 部署到云端"},{"label":"60. 部署到云端"}]},{"id":"-Lts6EmbLmDvbt9ybEQZ","title":"61. 安装Spring Boot应用","pathname":"/spring-boot/vi.-deploying-spring-boot-applications/61.-installing-spring-boot-applications","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VI. 部署到云端"}]},{"id":"-Lts74AVCuVKbymCzOXC","title":"61.1 支持的操作系统","pathname":"/spring-boot/vi.-deploying-spring-boot-applications/61.-installing-spring-boot-applications/61.1-supported-operating-systems","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VI. 部署到云端"},{"label":"61. 安装Spring Boot应用"}]},{"id":"-Lts92smXVaEZ_l_qrHy","title":"61.2 Unix/Linux服务","pathname":"/spring-boot/vi.-deploying-spring-boot-applications/61.-installing-spring-boot-applications/61.2-unix-and-linux-services","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VI. 部署到云端"},{"label":"61. 安装Spring Boot应用"}]},{"id":"-Lts8Xws3IkE-_5msdyJ","title":"61.2.1 安装为init.d服务(System V)","pathname":"/spring-boot/vi.-deploying-spring-boot-applications/61.-installing-spring-boot-applications/61.2-unix-and-linux-services/61.2.1-installation-as-an-init.d-service-system-v","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VI. 部署到云端"},{"label":"61. 安装Spring Boot应用"},{"label":"61.2 Unix/Linux服务"}]},{"id":"-LtsAdIIbIrlIp8iK26D","title":"61.2.2 安装为Systemd服务","pathname":"/spring-boot/vi.-deploying-spring-boot-applications/61.-installing-spring-boot-applications/61.2-unix-and-linux-services/61.2.2-installation-as-a-systemd-service","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VI. 部署到云端"},{"label":"61. 安装Spring Boot应用"},{"label":"61.2 Unix/Linux服务"}]},{"id":"-LtsGJpStHZcZ37z1_Ja","title":"61.2.3 自定义启动脚本","pathname":"/spring-boot/vi.-deploying-spring-boot-applications/61.-installing-spring-boot-applications/61.2-unix-and-linux-services/61.2.3-customizing-the-startup-script","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VI. 部署到云端"},{"label":"61. 安装Spring Boot应用"},{"label":"61.2 Unix/Linux服务"}]},{"id":"-LtsGwi4UntN4LagOaPd","title":"61.3 Microsoft Windows服务","pathname":"/spring-boot/vi.-deploying-spring-boot-applications/61.-installing-spring-boot-applications/61.3-microsoft-windows-services","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VI. 部署到云端"},{"label":"61. 安装Spring Boot应用"}]},{"id":"-LtsHoUFfzpqFnoEMxqk","title":"62. 接下来阅读什么","pathname":"/spring-boot/vi.-deploying-spring-boot-applications/62.-what-to-read-next","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VI. 部署到云端"}]},{"id":"-Lc65prYEJvUU8nAaC39","title":"VII. Spring Boot CLI","pathname":"/spring-boot/vii.-spring-boot-cli","siteSpaceId":"sitesp_Vs35t","description":""},{"id":"-LuLyWRRBHojcOsTmOxI","title":"63. 安装CLI","pathname":"/spring-boot/vii.-spring-boot-cli/63.-installing-the-cli","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VII. Spring Boot CLI"}]},{"id":"-LuLzHJk8jf8DiT5lQ9u","title":"64. 使用CLI","pathname":"/spring-boot/vii.-spring-boot-cli/64.-using-the-cli","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VII. Spring Boot CLI"}]},{"id":"-LuM0IAbXRUUYwUDBsi-","title":"64.1 使用CLI运行应用","pathname":"/spring-boot/vii.-spring-boot-cli/64.-using-the-cli/64.1.-running-applications-with-the-cli","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VII. Spring Boot CLI"},{"label":"64. 使用CLI"}]},{"id":"-LuM4RakwkQXxAgjIgz5","title":"64.1.1 推断\"grab\"依赖","pathname":"/spring-boot/vii.-spring-boot-cli/64.-using-the-cli/64.1.-running-applications-with-the-cli/64.1.1-deduced-grab-dependencies","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VII. Spring Boot CLI"},{"label":"64. 使用CLI"},{"label":"64.1 使用CLI运行应用"}]},{"id":"-LuM7403IgzEA4DByztF","title":"64.1.2 推断\"grab\"坐标","pathname":"/spring-boot/vii.-spring-boot-cli/64.-using-the-cli/64.1.-running-applications-with-the-cli/64.1.2-deduced-grab-coordinates","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VII. Spring Boot CLI"},{"label":"64. 使用CLI"},{"label":"64.1 使用CLI运行应用"}]},{"id":"-LuM7404JDyCDHAmszy_","title":"64.1.3 默认import语句","pathname":"/spring-boot/vii.-spring-boot-cli/64.-using-the-cli/64.1.-running-applications-with-the-cli/64.1.3-default-import-statements","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VII. Spring Boot CLI"},{"label":"64. 使用CLI"},{"label":"64.1 使用CLI运行应用"}]},{"id":"-LuM7405doqxXewGr0VO","title":"64.1.4 自动创建main方法","pathname":"/spring-boot/vii.-spring-boot-cli/64.-using-the-cli/64.1.-running-applications-with-the-cli/64.1.4-automatic-main-method","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VII. Spring Boot CLI"},{"label":"64. 使用CLI"},{"label":"64.1 使用CLI运行应用"}]},{"id":"-LuMHwn0MoQDFUsdeG_g","title":"64.1.5 自定义依赖管理","pathname":"/spring-boot/vii.-spring-boot-cli/64.-using-the-cli/64.1.-running-applications-with-the-cli/64.1.5-custom-dependency-management","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VII. Spring Boot CLI"},{"label":"64. 使用CLI"},{"label":"64.1 使用CLI运行应用"}]},{"id":"-LuM9qgfJWH371NJx4uw","title":"64.2 多源文件应用","pathname":"/spring-boot/vii.-spring-boot-cli/64.-using-the-cli/64.2-applications-with-multiple-source-files","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VII. Spring Boot CLI"},{"label":"64. 使用CLI"}]},{"id":"-LuMBO_D1ysJam6xeD4T","title":"64.3 应用打包","pathname":"/spring-boot/vii.-spring-boot-cli/64.-using-the-cli/64.3-packaging-your-application","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VII. Spring Boot CLI"},{"label":"64. 使用CLI"}]},{"id":"-LuMDDLn7KnVqfazJJxI","title":"64.4 初始化新工程","pathname":"/spring-boot/vii.-spring-boot-cli/64.-using-the-cli/64.4-initialize-a-new-project","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VII. Spring Boot CLI"},{"label":"64. 使用CLI"}]},{"id":"-LuMEM5EqyKXe2od54AZ","title":"64.5 使用内嵌shell","pathname":"/spring-boot/vii.-spring-boot-cli/64.-using-the-cli/64.5-using-the-embedded-shell","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VII. Spring Boot CLI"},{"label":"64. 使用CLI"}]},{"id":"-LuMEM5Fl_xRl1kQDSi0","title":"64.6 为CLI添加扩展","pathname":"/spring-boot/vii.-spring-boot-cli/64.-using-the-cli/64.6-adding-extensions-to-the-cli","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VII. Spring Boot CLI"},{"label":"64. 使用CLI"}]},{"id":"-LuMFKYSA9KlQMDFe0xd","title":"65. 使用Groovy beans DSL开发应用","pathname":"/spring-boot/vii.-spring-boot-cli/65.-developing-application-with-the-groovy-beans-dsl","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VII. Spring Boot CLI"}]},{"id":"-LuMFKYTIl3K0O_ijUCy","title":"66. 使用settings.xml配置CLI","pathname":"/spring-boot/vii.-spring-boot-cli/66.-configuring-the-cli-with-settings.xml","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VII. Spring Boot CLI"}]},{"id":"-LuMG1BxpN0wRWd9BkQt","title":"67. 接下来阅读什么","pathname":"/spring-boot/vii.-spring-boot-cli/67.-what-to-read-next","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VII. Spring Boot CLI"}]},{"id":"-Lc65prowSGJDNOXLdY1","title":"VIII. 构建工具插件","pathname":"/spring-boot/viii.-build-tool-plugins","siteSpaceId":"sitesp_Vs35t","description":""},{"id":"-LubnioLQcNeWQ3Tgkyv","title":"68. Spring Boot Maven插件","pathname":"/spring-boot/viii.-build-tool-plugins/68.-spring-boot-maven-plugin","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VIII. 构建工具插件"}]},{"id":"-Lubp5MT9HDudVJjrVfP","title":"68.1 包含该插件","pathname":"/spring-boot/viii.-build-tool-plugins/68.-spring-boot-maven-plugin/68.1-including-the-plugin","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VIII. 构建工具插件"},{"label":"68. Spring Boot Maven插件"}]},{"id":"-Lubqjh4kwrfS1nLvV64","title":"68.2 打包可执行jar和war文件","pathname":"/spring-boot/viii.-build-tool-plugins/68.-spring-boot-maven-plugin/68.2-packaging-executable-jar-and-war-files","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VIII. 构建工具插件"},{"label":"68. Spring Boot Maven插件"}]},{"id":"-LubrJBMxdhKjXH5W-Ny","title":"69. Spring Boot Gradle插件","pathname":"/spring-boot/viii.-build-tool-plugins/69.-spring-boot-gradle-plugin","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VIII. 构建工具插件"}]},{"id":"-LubsMZW6vBlwywdckQ-","title":"70. Spring Boot AntLib模块","pathname":"/spring-boot/viii.-build-tool-plugins/70.-spring-boot-antlib-module","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VIII. 构建工具插件"}]},{"id":"-LubvQri_F4K7Z3UVnrg","title":"70.1. Spring Boot Ant任务","pathname":"/spring-boot/viii.-build-tool-plugins/70.-spring-boot-antlib-module/70.1.-spring-boot-ant-tasks","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VIII. 构建工具插件"},{"label":"70. Spring Boot AntLib模块"}]},{"id":"-LubvQrjctIfOVI_d7ho","title":"70.1.1. spring-boot:exejar","pathname":"/spring-boot/viii.-build-tool-plugins/70.-spring-boot-antlib-module/70.1.-spring-boot-ant-tasks/70.1.1.-spring-boot-exejar","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VIII. 构建工具插件"},{"label":"70. Spring Boot AntLib模块"},{"label":"70.1. Spring Boot Ant任务"}]},{"id":"-LuzzG8bYHdwLZDuj32-","title":"70.1.2. 示例","pathname":"/spring-boot/viii.-build-tool-plugins/70.-spring-boot-antlib-module/70.1.-spring-boot-ant-tasks/70.1.2.-examples","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VIII. 构建工具插件"},{"label":"70. Spring Boot AntLib模块"},{"label":"70.1. Spring Boot Ant任务"}]},{"id":"-LubsMZ_ruucRGE45rr2","title":"70.2. spring-boot:findmainclass","pathname":"/spring-boot/viii.-build-tool-plugins/70.-spring-boot-antlib-module/70.2.-spring-boot-findmainclass","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VIII. 构建工具插件"},{"label":"70. Spring Boot AntLib模块"}]},{"id":"-Lv-0CTUTTFFNVCQHVHm","title":"70.2.1. 示例","pathname":"/spring-boot/viii.-build-tool-plugins/70.-spring-boot-antlib-module/70.2.-spring-boot-findmainclass/70.2.1.-examples","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VIII. 构建工具插件"},{"label":"70. Spring Boot AntLib模块"},{"label":"70.2. spring-boot:findmainclass"}]},{"id":"-Lv-2hzCe-txHV8zk9gV","title":"71. 对其他构建系统的支持","pathname":"/spring-boot/viii.-build-tool-plugins/71.-supporting-other-build-systems","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VIII. 构建工具插件"}]},{"id":"-Lv-2hzDEWZBxtV6_Uel","title":"71.1. 重新打包存档","pathname":"/spring-boot/viii.-build-tool-plugins/71.-supporting-other-build-systems/71.1.-repackaging-archives","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VIII. 构建工具插件"},{"label":"71. 对其他构建系统的支持"}]},{"id":"-Lv-7cs9Ccr0wsf0e13t","title":"71.2. 内嵌库","pathname":"/spring-boot/viii.-build-tool-plugins/71.-supporting-other-build-systems/71.2.-nested-libraries","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VIII. 构建工具插件"},{"label":"71. 对其他构建系统的支持"}]},{"id":"-Lv-3RbFaXjIyF6LZ2Sc","title":"71.3. 查找main类","pathname":"/spring-boot/viii.-build-tool-plugins/71.-supporting-other-build-systems/71.3.-finding-a-main-class","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VIII. 构建工具插件"},{"label":"71. 对其他构建系统的支持"}]},{"id":"-Lv-3vqbRIG_LjaT1jt6","title":"71.4. repackage实现示例","pathname":"/spring-boot/viii.-build-tool-plugins/71.-supporting-other-build-systems/71.4.-example-repackage-implementation","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VIII. 构建工具插件"},{"label":"71. 对其他构建系统的支持"}]},{"id":"-Lv-4VUZBVlK52evcyrX","title":"72. 接下来阅读什么","pathname":"/spring-boot/viii.-build-tool-plugins/72.-what-to-read-next","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"VIII. 构建工具插件"}]},{"id":"-Lc65ps4vlWiJsx8Ea6K","title":"IX. How-to指南","pathname":"/spring-boot/ix.-how-to-guides","siteSpaceId":"sitesp_Vs35t","description":""},{"id":"-LvELBTDWl4I1Bheozl_","title":"73. Spring Boot应用","pathname":"/spring-boot/ix.-how-to-guides/73.-spring-boot-application","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"}]},{"id":"-LvEN6xtkVUhZm6qwjlr","title":"73.1 创建自己的FailureAnalyzer","pathname":"/spring-boot/ix.-how-to-guides/73.-spring-boot-application/73.1-create-your-own-failureanalyzer","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"73. Spring Boot应用"}]},{"id":"-LvejSW3fCXzrE-pFS2_","title":"73.2 解决自动配置问题","pathname":"/spring-boot/ix.-how-to-guides/73.-spring-boot-application/73.2-troubleshoot-auto-configuration","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"73. Spring Boot应用"}]},{"id":"-Lveq4Kjuz4YTd6OOyTX","title":"73.3 启动前自定义Environment或ApplicationContext","pathname":"/spring-boot/ix.-how-to-guides/73.-spring-boot-application/73.3-customize-the-environment-or-applicationcontext-before-it-starts","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"73. Spring Boot应用"}]},{"id":"-Lvet5BtnuncbmZwiXyQ","title":"73.4 构建ApplicationContext层次结构","pathname":"/spring-boot/ix.-how-to-guides/73.-spring-boot-application/73.4-build-an-applicationcontext-hierarchy-adding-a-parent-or-root-context","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"73. Spring Boot应用"}]},{"id":"-LvetruF7aP1GYzt22R6","title":"73.5 创建no-web应用","pathname":"/spring-boot/ix.-how-to-guides/73.-spring-boot-application/73.5-create-a-non-web-application","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"73. Spring Boot应用"}]},{"id":"-Lvi6xUkOMi3gHbl3jlF","title":"74. 属性与配置","pathname":"/spring-boot/ix.-how-to-guides/74.-properties-and-configuration","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"}]},{"id":"-Lvi7RuZcxr-Dhhn3ILn","title":"74.1. 运行时暴露属性","pathname":"/spring-boot/ix.-how-to-guides/74.-properties-and-configuration/74.1.-automatically-expand-properties-at-build-time","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"74. 属性与配置"}]},{"id":"-Lvi92Zl2mmgFc9uu4rR","title":"74.1.1. 使用Maven自动暴露属性","pathname":"/spring-boot/ix.-how-to-guides/74.-properties-and-configuration/74.1.-automatically-expand-properties-at-build-time/74.1.1.-automatic-property-expansion-using-maven","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"74. 属性与配置"},{"label":"74.1. 运行时暴露属性"}]},{"id":"-Lvi9k_uO3sGG3VSpfbf","title":"74.1.2. 使用Gradle自动暴露属性","pathname":"/spring-boot/ix.-how-to-guides/74.-properties-and-configuration/74.1.-automatically-expand-properties-at-build-time/74.1.2.-automatic-property-expansion-using-gradle","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"74. 属性与配置"},{"label":"74.1. 运行时暴露属性"}]},{"id":"-LviAkFDVFyT-j9mJX2c","title":"74.2. 外部化SpringApplication配置","pathname":"/spring-boot/ix.-how-to-guides/74.-properties-and-configuration/74.2.-externalize-the-configuration-of-springapplication","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"74. 属性与配置"}]},{"id":"-LviBh_N61JRF7PMMbPj","title":"74.3 改变应用程序外部配置文件的位置","pathname":"/spring-boot/ix.-how-to-guides/74.-properties-and-configuration/74.3-change-the-location-of-external-properties-of-an-application","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"74. 属性与配置"}]},{"id":"-LviCyxadn6SJbXpsnSD","title":"74.4 使用“短”命令行参数","pathname":"/spring-boot/ix.-how-to-guides/74.-properties-and-configuration/74.4-use-short-command-line-arguments","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"74. 属性与配置"}]},{"id":"-LviDkaQAs7W-249ySkj","title":"74.5 使用YAML配置外部属性","pathname":"/spring-boot/ix.-how-to-guides/74.-properties-and-configuration/74.5-use-yaml-for-external-properties","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"74. 属性与配置"}]},{"id":"-LviEaj_XXFZsAboyt-y","title":"74.6 设置生效的Spring profiles","pathname":"/spring-boot/ix.-how-to-guides/74.-properties-and-configuration/74.6-set-the-active-spring-profiles","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"74. 属性与配置"}]},{"id":"-LviFpw1ikHy2aoZ24ic","title":"74.7 根据环境改变配置","pathname":"/spring-boot/ix.-how-to-guides/74.-properties-and-configuration/74.7-change-configuration-depending-on-the-environment","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"74. 属性与配置"}]},{"id":"-LviH6c1GKe3PD2ERGmh","title":"74.8 发现外部属性的内置选项","pathname":"/spring-boot/ix.-how-to-guides/74.-properties-and-configuration/74.8-discover-built-in-options-for-external-properties","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"74. 属性与配置"}]},{"id":"-LwEAgeSpCR5KcLe_zqp","title":"75. 内嵌网络服务器","pathname":"/spring-boot/ix.-how-to-guides/75.-embedded-web-servers","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"}]},{"id":"-LwEFbSTQDIn3jU1U7lt","title":"75.1 使用另外的网络服务器","pathname":"/spring-boot/ix.-how-to-guides/75.-embedded-web-servers/75.1-use-another-web-server","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"75. 内嵌网络服务器"}]},{"id":"-LwEHUiXO0IZInv_94Db","title":"75.2 配置Jetty","pathname":"/spring-boot/ix.-how-to-guides/75.-embedded-web-servers/75.2-configure-jetty","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"75. 内嵌网络服务器"}]},{"id":"-LwHDL9iaLDoHL6adGmC","title":"75.3 为应用添加Servlet、Filter或Listener","pathname":"/spring-boot/ix.-how-to-guides/75.-embedded-web-servers/75.3-add-a-servlet-filter-or-listener-to-an-application","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"75. 内嵌网络服务器"}]},{"id":"-LwHGI16Q4a9Tca3TqXs","title":"75.3.1 使用Spring bean添加Servlet、Filter或Listener","pathname":"/spring-boot/ix.-how-to-guides/75.-embedded-web-servers/75.3-add-a-servlet-filter-or-listener-to-an-application/75.3.1-add-a-servlet-filter-or-listener-by-using-a-spring-bean","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"75. 内嵌网络服务器"},{"label":"75.3 为应用添加Servlet、Filter或Listener"}]},{"id":"-LwHHHh4WA1hdUW6JgEV","title":"75.3.2 使用类路径扫描添加Servlet、Filter和Listener","pathname":"/spring-boot/ix.-how-to-guides/75.-embedded-web-servers/75.3-add-a-servlet-filter-or-listener-to-an-application/75.3.2-add-servlets-filters-and-listeners-by-using-classpath-scanning","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"75. 内嵌网络服务器"},{"label":"75.3 为应用添加Servlet、Filter或Listener"}]},{"id":"-LwWl17DuHGrKr47uIHq","title":"75.4 改变HTTP端口","pathname":"/spring-boot/ix.-how-to-guides/75.-embedded-web-servers/75.4-change-the-http-port","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"75. 内嵌网络服务器"}]},{"id":"-LwWl17EKGSaac6Su9fK","title":"75.5 使用随机未分配的HTTP端口","pathname":"/spring-boot/ix.-how-to-guides/75.-embedded-web-servers/75.5-use-a-random-unassigned-http-port","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"75. 内嵌网络服务器"}]},{"id":"-LwWn2u1fd6PcRLc1Z2h","title":"75.6 在运行时发现HTTP端口","pathname":"/spring-boot/ix.-how-to-guides/75.-embedded-web-servers/75.6-discover-the-http-port-at-runtime","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"75. 内嵌网络服务器"}]},{"id":"-LwWnzj0WOW5NVRc9YsF","title":"75.7 配置SSL","pathname":"/spring-boot/ix.-how-to-guides/75.-embedded-web-servers/75.7-configure-ssl","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"75. 内嵌网络服务器"}]},{"id":"-LwavBxvdeHYGzBM49Vy","title":"75.8 配置HTTP/2","pathname":"/spring-boot/ix.-how-to-guides/75.-embedded-web-servers/75.8-configure-http2","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"75. 内嵌网络服务器"}]},{"id":"-LwavBxwpQJft74iXgtR","title":"75.8.1 HTTP/2与Undertow","pathname":"/spring-boot/ix.-how-to-guides/75.-embedded-web-servers/75.8-configure-http2/75.8.1-http2-with-undertow","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"75. 内嵌网络服务器"},{"label":"75.8 配置HTTP/2"}]},{"id":"-LwavBxxg_o3fVtmZpAO","title":"75.8.2 HTTP/2与Jetty","pathname":"/spring-boot/ix.-how-to-guides/75.-embedded-web-servers/75.8-configure-http2/75.8.2-http2-with-jetty","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"75. 内嵌网络服务器"},{"label":"75.8 配置HTTP/2"}]},{"id":"-LwaxV8Ysk-N7kjNuCIU","title":"75.8.3 HTTP/2与Tomcat","pathname":"/spring-boot/ix.-how-to-guides/75.-embedded-web-servers/75.8-configure-http2/75.8.3-http2-with-tomcat","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"75. 内嵌网络服务器"},{"label":"75.8 配置HTTP/2"}]},{"id":"-LwhPS9waG7WDrrofIm-","title":"75.9 配置访问日志","pathname":"/spring-boot/ix.-how-to-guides/75.-embedded-web-servers/75.9-configure-access-logging","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"75. 内嵌网络服务器"}]},{"id":"-LwhPS9xR2K-SMoIShKy","title":"75.10 在前端代理服务器后运行","pathname":"/spring-boot/ix.-how-to-guides/75.-embedded-web-servers/75.10-running-behind-a-front-end-proxy-server","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"75. 内嵌网络服务器"}]},{"id":"-LwhPS9ysrIN44CQxSNj","title":"75.10.1 自定义Tomcat代理配置","pathname":"/spring-boot/ix.-how-to-guides/75.-embedded-web-servers/75.10-running-behind-a-front-end-proxy-server/75.10.1-customize-tomcats-proxy-configuration","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"75. 内嵌网络服务器"},{"label":"75.10 在前端代理服务器后运行"}]},{"id":"-LwhWkFGWWOxpslLlvMG","title":"75.11 配置Tomcat","pathname":"/spring-boot/ix.-how-to-guides/75.-embedded-web-servers/75.11-configure-tomcat","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"75. 内嵌网络服务器"}]},{"id":"-LwmYHB-D-wD6npccvYH","title":"75.12 启用Tomcat的多连接器","pathname":"/spring-boot/ix.-how-to-guides/75.-embedded-web-servers/75.12-enable-multiple-connectors-with-tomcat","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"75. 内嵌网络服务器"}]},{"id":"-LwmZ5hRGNE1G2lp8rwz","title":"75.13 使用Tomcat的LegacyCookieProcessor","pathname":"/spring-boot/ix.-how-to-guides/75.-embedded-web-servers/75.13-use-tomcats-legacycookieprocessor","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"75. 内嵌网络服务器"}]},{"id":"-Lwm_o_obbHOwRVq41ZC","title":"75.14 配置Undertow","pathname":"/spring-boot/ix.-how-to-guides/75.-embedded-web-servers/75.14-configure-undertow","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"75. 内嵌网络服务器"}]},{"id":"-LyS93UgirvfR9qrd_e_","title":"75.15 启用Undertow的多监听器","pathname":"/spring-boot/ix.-how-to-guides/75.-embedded-web-servers/75.15-enable-multiple-listeners-with-undertow","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"75. 内嵌网络服务器"}]},{"id":"-LyS9PA3zWU23jTZFvbB","title":"75.16 使用@ServerEndpoint创建WebSocket端点","pathname":"/spring-boot/ix.-how-to-guides/75.-embedded-web-servers/75.16-create-websocket-endpoints-using-serverendpoint","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"75. 内嵌网络服务器"}]},{"id":"-LyS9u4dOn2DZKoBd-P2","title":"75.17 启用HTTP响应压缩","pathname":"/spring-boot/ix.-how-to-guides/75.-embedded-web-servers/75.17-enable-http-response-compression","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"75. 内嵌网络服务器"}]},{"id":"-LyYX4yH_emmUEa4nI6S","title":"76. Spring MVC","pathname":"/spring-boot/ix.-how-to-guides/76.-spring-mvc","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"}]},{"id":"-LyYYD6JyKm7GQua063V","title":"76.1 编写JSON REST服务","pathname":"/spring-boot/ix.-how-to-guides/76.-spring-mvc/76.1-write-a-json-rest-service","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"76. Spring MVC"}]},{"id":"-LyYYydRrGHHRiGrUUAZ","title":"76.2 编写XML REST服务","pathname":"/spring-boot/ix.-how-to-guides/76.-spring-mvc/76.2-write-an-xml-rest-service","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"76. Spring MVC"}]},{"id":"-LyYb9J-ReFtjhV2jtq8","title":"76.3 自定义Jackson ObjectMapper","pathname":"/spring-boot/ix.-how-to-guides/76.-spring-mvc/76.3-customize-the-jackson-objectmapper","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"76. Spring MVC"}]},{"id":"-LyYbrB4iA5M014RttFH","title":"76.4 自定义@ResponseBody渲染","pathname":"/spring-boot/ix.-how-to-guides/76.-spring-mvc/76.4-customize-the-responsebody-rendering","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"76. Spring MVC"}]},{"id":"-LyYcDbkNFdHZYIv0msy","title":"76.5 处理Multipart文件上传","pathname":"/spring-boot/ix.-how-to-guides/76.-spring-mvc/76.5-handling-multipart-file-uploads","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"76. Spring MVC"}]},{"id":"-LyYdGaaqf6d-2O2BWTC","title":"76.6 关闭Spring MVC DispatcherServlet","pathname":"/spring-boot/ix.-how-to-guides/76.-spring-mvc/76.6-switch-off-the-spring-mvc-dispatcherservlet","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"76. Spring MVC"}]},{"id":"-LyYdZ8A2YHR6IZCYzUQ","title":"76.7 关闭默认的MVC配置","pathname":"/spring-boot/ix.-how-to-guides/76.-spring-mvc/76.7-switch-off-the-default-mvc-configuration","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"76. Spring MVC"}]},{"id":"-LyYk0_VDvBA-3Dfc-h2","title":"76.8 自定义ViewResolvers","pathname":"/spring-boot/ix.-how-to-guides/76.-spring-mvc/76.8-customize-viewresolvers","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"76. Spring MVC"}]},{"id":"-LymisPeK1tI9KkZSWIO","title":"77. HTTP客户端","pathname":"/spring-boot/ix.-how-to-guides/77.-http-clients","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"}]},{"id":"-LymjhhTp9i0mtFpp5qY","title":"77.1 配置RestTemplate使用代理","pathname":"/spring-boot/ix.-how-to-guides/77.-http-clients/77.1-configure-resttemplate-to-use-a-proxy","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"77. HTTP客户端"}]},{"id":"-LymoB6t3cez9rmZ0lEU","title":"78. 日志","pathname":"/spring-boot/ix.-how-to-guides/78.-logging","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"}]},{"id":"-LymqBtP-ki0piQ9QZcx","title":"78.1 配置Logback","pathname":"/spring-boot/ix.-how-to-guides/78.-logging/78.1-configure-logback-for-logging","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"78. 日志"}]},{"id":"-Lymr2JlhOAL3fuZnPUc","title":"78.1.1 配置logback只输出到文件","pathname":"/spring-boot/ix.-how-to-guides/78.-logging/78.1-configure-logback-for-logging/78.1.1-configure-logback-for-file-only-output","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"78. 日志"},{"label":"78.1 配置Logback"}]},{"id":"-LymtUPLjPwiEFEXmR-e","title":"78.2 配置Log4j","pathname":"/spring-boot/ix.-how-to-guides/78.-logging/78.2-configure-log4j-for-logging","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"78. 日志"}]},{"id":"-Lymtz0fG4yiCiZKHHT1","title":"78.2.1 使用YAML或JSON配置Log4j2","pathname":"/spring-boot/ix.-how-to-guides/78.-logging/78.2-configure-log4j-for-logging/78.2.1-use-yaml-or-json-to-configure-log4j-2","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"78. 日志"},{"label":"78.2 配置Log4j"}]},{"id":"-Lz0zSMG5IMxopB_3Vyg","title":"79. 数据访问","pathname":"/spring-boot/ix.-how-to-guides/79.-data-access","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"}]},{"id":"-Lz0zSMHqbbuKC6f9h_U","title":"79.1 配置自定义的数据源","pathname":"/spring-boot/ix.-how-to-guides/79.-data-access/79.1-configure-a-custom-datasource","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"79. 数据访问"}]},{"id":"-Lz0zSMI86AY1uqnB6jq","title":"79.2 配置两个数据源","pathname":"/spring-boot/ix.-how-to-guides/79.-data-access/79.2-configure-two-datasources","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"79. 数据访问"}]},{"id":"-Lz10ZESDOT8YObxuFdW","title":"79.3 使用Spring Data仓库","pathname":"/spring-boot/ix.-how-to-guides/79.-data-access/79.3-use-spring-data-repositories","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"79. 数据访问"}]},{"id":"-LzCpXAQnm2_T_VVFyrt","title":"79.4 从Spring配置分离@Entity定义","pathname":"/spring-boot/ix.-how-to-guides/79.-data-access/79.4-separate-entity-definitions-from-spring-configuration","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"79. 数据访问"}]},{"id":"-LzCswozZzh5Dxd0dTb0","title":"79.5 配置JPA属性","pathname":"/spring-boot/ix.-how-to-guides/79.-data-access/79.5-configure-jpa-properties","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"79. 数据访问"}]},{"id":"-LzCvbBk6QcnompIHbO0","title":"79.6 配置Hibernate命名策略","pathname":"/spring-boot/ix.-how-to-guides/79.-data-access/79.6-configure-hibernate-naming-strategy","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"79. 数据访问"}]},{"id":"-Lzg3oZ6vJ9wRlU01E_a","title":"79.7 使用自定义EntityManagerFactory","pathname":"/spring-boot/ix.-how-to-guides/79.-data-access/79.7-use-a-custom-entitymanagerfactory","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"79. 数据访问"}]},{"id":"-Lzg5GmgRkgn2qdXXGyS","title":"79.8 使用两个EntityManagers","pathname":"/spring-boot/ix.-how-to-guides/79.-data-access/79.8-use-two-entitymanagers","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"79. 数据访问"}]},{"id":"-Lzg5_zDOYpYgEuk_oBM","title":"79.9 使用传统的persistence.xml文件","pathname":"/spring-boot/ix.-how-to-guides/79.-data-access/79.9-use-a-traditional-persistence.xml-file","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"79. 数据访问"}]},{"id":"-Lzg89D6kIHwLKG8IdEN","title":"79.10 使用Spring Data JPA和Mongo仓库","pathname":"/spring-boot/ix.-how-to-guides/79.-data-access/79.10-use-spring-data-jpa-and-mongo-repositories","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"79. 数据访问"}]},{"id":"-Lzg98ChGLAHJ3Ccgv8p","title":"79.11 将Spring Data仓库暴露为REST端点","pathname":"/spring-boot/ix.-how-to-guides/79.-data-access/79.11-expose-spring-data-repositories-as-rest-endpoint","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"79. 数据访问"}]},{"id":"-LzgApeyVaXoM5I_si49","title":"79.12 配置JPA使用的组件","pathname":"/spring-boot/ix.-how-to-guides/79.-data-access/79.12-configure-a-component-that-is-used-by-jpa","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"79. 数据访问"}]},{"id":"-LzgJQZafFARl4CnW5BF","title":"79.13 使用两个数据源配置jOOQ","pathname":"/spring-boot/ix.-how-to-guides/79.-data-access/79.13-configure-jooq-with-two-datasources","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"79. 数据访问"}]},{"id":"-LzgI9T7jjZ8L6fEs0CJ","title":"80. 数据库初始化","pathname":"/spring-boot/ix.-how-to-guides/80.-database-initialization","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"}]},{"id":"-LzkDReX4x3o9Q-Y7xpm","title":"80.1 使用JPA初始化数据库","pathname":"/spring-boot/ix.-how-to-guides/80.-database-initialization/80.1-initialize-a-database-using-jpa","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"80. 数据库初始化"}]},{"id":"-LzkFA83y0vlT6MgNpBD","title":"80.2 使用Hibernate初始化数据库","pathname":"/spring-boot/ix.-how-to-guides/80.-database-initialization/80.2-initialize-a-database-using-hibernate","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"80. 数据库初始化"}]},{"id":"-LzlLYjoes4QbujA-iT-","title":"80.3 初始化数据库","pathname":"/spring-boot/ix.-how-to-guides/80.-database-initialization/80.3-initialize-a-database","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"80. 数据库初始化"}]},{"id":"-LzlNBs0IGh2IxKopk3m","title":"80.4 初始化Spring Batch数据库","pathname":"/spring-boot/ix.-how-to-guides/80.-database-initialization/80.4-initialize-a-spring-batch-database","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"80. 数据库初始化"}]},{"id":"-LzlNUjaxU9xjPSN6x4W","title":"80.5 使用高级数据迁移工具","pathname":"/spring-boot/ix.-how-to-guides/80.-database-initialization/80.5-use-a-higher-level-database-migration-tool","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"80. 数据库初始化"}]},{"id":"-LzlSSv2wsv6vaGhgDUK","title":"80.5.1 启动时执行Flyway数据库迁移","pathname":"/spring-boot/ix.-how-to-guides/80.-database-initialization/80.5-use-a-higher-level-database-migration-tool/80.5.1-execute-flyway-database-migrations-on-startup","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"80. 数据库初始化"},{"label":"80.5 使用高级数据迁移工具"}]},{"id":"-LzlVpVL8eXepjnhvJhy","title":"80.5.2 启动时执行Liquibase数据库迁移","pathname":"/spring-boot/ix.-how-to-guides/80.-database-initialization/80.5-use-a-higher-level-database-migration-tool/80.5.2-execute-liquibase-database-migrations-on-startup","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"80. 数据库初始化"},{"label":"80.5 使用高级数据迁移工具"}]},{"id":"-Lzqo9iAPrN84wqT0II6","title":"81. 消息传送","pathname":"/spring-boot/ix.-how-to-guides/81.-messaging","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"}]},{"id":"-Lzqq7bykyYF7B0Ec6dh","title":"81.1 禁用事务JMS会话","pathname":"/spring-boot/ix.-how-to-guides/81.-messaging/81.1-disable-transacted-jms-session","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"81. 消息传送"}]},{"id":"-Lzqs5yNX9r7Ga88Qr1r","title":"82. 批处理应用","pathname":"/spring-boot/ix.-how-to-guides/82.-batch-applications","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"}]},{"id":"-LzqtSfZOojZuAyiVG4n","title":"82.1 在启动时执行Spring Batch作业","pathname":"/spring-boot/ix.-how-to-guides/82.-batch-applications/82.1-execute-spring-batch-jobs-on-startup","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"82. 批处理应用"}]},{"id":"-LzuktT2qqmlkbHHto77","title":"83. 执行器","pathname":"/spring-boot/ix.-how-to-guides/83.-actuator","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"}]},{"id":"-LzumhirEplxd77YgNGT","title":"83.1 改变HTTP端口或执行器端点的地址","pathname":"/spring-boot/ix.-how-to-guides/83.-actuator/83.1-change-the-http-port-or-address-of-the-actuator-endpoints","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"83. 执行器"}]},{"id":"-Lzus3cDde7dfFmRLNym","title":"83.2 自定义WhiteLabel错误页面","pathname":"/spring-boot/ix.-how-to-guides/83.-actuator/83.2-customize-the-whitelabel-error-page","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"83. 执行器"}]},{"id":"-M-Y3Zg9Ytbb5l4NfGIH","title":"84. 安全","pathname":"/spring-boot/ix.-how-to-guides/84.-security","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"}]},{"id":"-M-Y54hbC41tBe3DqECn","title":"84.1 关闭Spring Boot安全配置","pathname":"/spring-boot/ix.-how-to-guides/84.-security/84.1-switch-off-the-spring-boot-security-configuration","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"84. 安全"}]},{"id":"-M-Y6qNHFbS6JjIh6Afi","title":"84.2 改变AuthenticationManager并添加用户账号","pathname":"/spring-boot/ix.-how-to-guides/84.-security/84.2-change-the-authenticationmanager-and-add-user-accounts","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"84. 安全"}]},{"id":"-M-Y8m5mNJFl5UXEG7Vp","title":"84.3 当前端使用代理服务器时启用HTTPS","pathname":"/spring-boot/ix.-how-to-guides/84.-security/84.3-enable-https-when-running-behind-a-proxy-server","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"84. 安全"}]},{"id":"-M06JNzY60gnQP0IKzkH","title":"85. 热交换","pathname":"/spring-boot/ix.-how-to-guides/85.-hot-swapping","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"}]},{"id":"-M06Ka07-9DNilQeVB9H","title":"85.1 重新加载静态内容","pathname":"/spring-boot/ix.-how-to-guides/85.-hot-swapping/85.1-reload-static-content","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"85. 热交换"}]},{"id":"-M06LDZDKkb3F_ITJrYA","title":"85.2. 在不重启容器的情况下重新加载模板","pathname":"/spring-boot/ix.-how-to-guides/85.-hot-swapping/85.2.-reload-templates-without-restarting-the-container","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"85. 热交换"}]},{"id":"-M06Ltq-QIyLbx87DS6C","title":"85.2.1 Thymeleaf模板","pathname":"/spring-boot/ix.-how-to-guides/85.-hot-swapping/85.2.-reload-templates-without-restarting-the-container/85.2.1-thymeleaf-templates","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"85. 热交换"},{"label":"85.2. 在不重启容器的情况下重新加载模板"}]},{"id":"-M06MEMV14JRvjztlx8Q","title":"85.2.2 FreeMarker模板","pathname":"/spring-boot/ix.-how-to-guides/85.-hot-swapping/85.2.-reload-templates-without-restarting-the-container/85.2.2-freemarker-templates","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"85. 热交换"},{"label":"85.2. 在不重启容器的情况下重新加载模板"}]},{"id":"-M06MVK6pQ9571xMLf-_","title":"85.2.3 Groovy模板","pathname":"/spring-boot/ix.-how-to-guides/85.-hot-swapping/85.2.-reload-templates-without-restarting-the-container/85.2.3-groovy-templates","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"85. 热交换"},{"label":"85.2. 在不重启容器的情况下重新加载模板"}]},{"id":"-M06QKDu0DIHUmF3VwgT","title":"85.3 应用快速重启","pathname":"/spring-boot/ix.-how-to-guides/85.-hot-swapping/85.3-fast-application-restarts","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"85. 热交换"}]},{"id":"-M06Re21mHY9FJer6wn9","title":"85.4 在不重启容器的情况下重新加载Java类","pathname":"/spring-boot/ix.-how-to-guides/85.-hot-swapping/85.4-reload-java-classes-without-restarting-the-container","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"85. 热交换"}]},{"id":"-M0WlU5HVbDi5jNRpkvI","title":"86. 构建","pathname":"/spring-boot/ix.-how-to-guides/86.-build","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"}]},{"id":"-M0XqZOnkgIE45aH7eXg","title":"86.1 生成构建信息","pathname":"/spring-boot/ix.-how-to-guides/86.-build/86.1-generate-build-information","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"86. 构建"}]},{"id":"-M0Xt3ne69IPNZ1tYR9-","title":"86.2 生成Git信息","pathname":"/spring-boot/ix.-how-to-guides/86.-build/86.2-generate-git-information","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"86. 构建"}]},{"id":"-M0XtpmcdOREW8ciN6Ae","title":"86.3 自定义依赖版本","pathname":"/spring-boot/ix.-how-to-guides/86.-build/86.3-customize-dependency-versions","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"86. 构建"}]},{"id":"-M0XvWF7Pz5BDucaplfQ","title":"86.4 使用Maven创建可执行JAR","pathname":"/spring-boot/ix.-how-to-guides/86.-build/86.4-create-an-executable-jar-with-maven","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"86. 构建"}]},{"id":"-M0Xw6KyqZezFYjMB4St","title":"86.5 将Spring Boot应用作为依赖","pathname":"/spring-boot/ix.-how-to-guides/86.-build/86.5-use-a-spring-boot-application-as-a-dependency","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"86. 构建"}]},{"id":"-M0Xy5JkHdy6gctee5yp","title":"86.6 在可执行jar运行时提取特定的版本","pathname":"/spring-boot/ix.-how-to-guides/86.-build/86.6-extract-specific-libraries-when-an-executable-jar-runs","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"86. 构建"}]},{"id":"-M0XzKQwfxCFpv8VOfKV","title":"86.7 使用排除创建不可执行的JAR","pathname":"/spring-boot/ix.-how-to-guides/86.-build/86.7-create-a-non-executable-jar-with-exclusions","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"86. 构建"}]},{"id":"-M0Y-8LlDdg-9b1r1UXs","title":"86.8 远程调试使用Maven启动的Spring Boot项目","pathname":"/spring-boot/ix.-how-to-guides/86.-build/86.8-remote-debug-a-spring-boot-application-started-with-maven","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"86. 构建"}]},{"id":"-M0Y0pHuLVh07cvM5Hpd","title":"86.9 使用Ant构建可执行存档（不使用spring-boot-antlib）","pathname":"/spring-boot/ix.-how-to-guides/86.-build/86.9-build-an-executable-archive-from-ant-without-using-spring-boot-antlib","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"86. 构建"}]},{"id":"-M0pbNoBTV-qNk6-c0BX","title":"87. 传统部署","pathname":"/spring-boot/ix.-how-to-guides/87.-traditional-deployment","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"}]},{"id":"-M0pgWgWDO_t7BK7KIBW","title":"87.1 创建可部署的war文件","pathname":"/spring-boot/ix.-how-to-guides/87.-traditional-deployment/87.1-create-a-deployable-war-file","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"87. 传统部署"}]},{"id":"-M0uz_pcwE_cnf3KHZH5","title":"87.2 为老的servlet容器创建可部署的war文件","pathname":"/spring-boot/ix.-how-to-guides/87.-traditional-deployment/87.2-create-a-deployable-war-file-for-older-servlet-containers","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"87. 传统部署"}]},{"id":"-M0v1nxavJXm_EDacNs6","title":"87.3 将现有的应用转换为Spring Boot","pathname":"/spring-boot/ix.-how-to-guides/87.-traditional-deployment/87.3-convert-an-existing-application-to-spring-boot","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"87. 传统部署"}]},{"id":"-M19YSFUeSAbCHJVSAT3","title":"87.4 部署WAR到Weblogic","pathname":"/spring-boot/ix.-how-to-guides/87.-traditional-deployment/87.4-deploying-a-war-to-weblogic","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"87. 传统部署"}]},{"id":"-M19_VB6jZaZr7d5RphL","title":"87.5 部署WAR到老的(Servlet2.5)容器","pathname":"/spring-boot/ix.-how-to-guides/87.-traditional-deployment/87.5-deploying-a-war-in-an-old-servlet-2.5-container","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"87. 传统部署"}]},{"id":"-M19b_ki75FjLPTpOsFC","title":"87.6 使用Lettuce来代替Jedis","pathname":"/spring-boot/ix.-how-to-guides/87.-traditional-deployment/87.6-use-jedis-instead-of-lettuce","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"IX. How-to指南"},{"label":"87. 传统部署"}]},{"id":"-Lc65pvsNVWYij4Nb7m-","title":"X.附录","pathname":"/spring-boot/x.-appendices","siteSpaceId":"sitesp_Vs35t","description":""},{"id":"-Lc65pvtBzf4IB2vv_zI","title":"附录A. 常见应用属性","pathname":"/spring-boot/x.-appendices/a.-common-application-properties","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"X.附录"}]},{"id":"-M1YYiX1v2g1oaqsiSXQ","title":"附录B. 配置元数据","pathname":"/spring-boot/x.-appendices/b.-configuration-metadata","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"X.附录"}]},{"id":"-M1YYiX2jZc_hk9QJnGW","title":"附录B.1. 元数据格式","pathname":"/spring-boot/x.-appendices/b.-configuration-metadata/b.1.-metadata-format","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"X.附录"},{"label":"附录B. 配置元数据"}]},{"id":"-Lc65pvwiu0PyR23RC5U","title":"附录B.1.1. Group属性","pathname":"/spring-boot/x.-appendices/b.-configuration-metadata/b.1.-metadata-format/b.1.1.-group-attributes","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"X.附录"},{"label":"附录B. 配置元数据"},{"label":"附录B.1. 元数据格式"}]},{"id":"-M1YYiX436O4MfkACVkD","title":"附录B.1.2. Property属性","pathname":"/spring-boot/x.-appendices/b.-configuration-metadata/b.1.-metadata-format/b.1.2.-property-attributes","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"X.附录"},{"label":"附录B. 配置元数据"},{"label":"附录B.1. 元数据格式"}]},{"id":"-M1YYiX54o598NomOYMN","title":"附录B.1.3. Hint属性","pathname":"/spring-boot/x.-appendices/b.-configuration-metadata/b.1.-metadata-format/b.1.3-hint-attributes","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"X.附录"},{"label":"附录B. 配置元数据"},{"label":"附录B.1. 元数据格式"}]},{"id":"-M1YYiX66CRO2Z8NB_zq","title":"附录B.1.4. 可重复的元数据节点","pathname":"/spring-boot/x.-appendices/b.-configuration-metadata/b.1.-metadata-format/b.1.4.-repeated-metadata-items","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"X.附录"},{"label":"附录B. 配置元数据"},{"label":"附录B.1. 元数据格式"}]},{"id":"-Lc65pw-AsGrsh6Q1u96","title":"附录B.2. 提供人工提示","pathname":"/spring-boot/x.-appendices/b.-configuration-metadata/b.2-providing-manual-hints","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"X.附录"},{"label":"附录B. 配置元数据"}]},{"id":"-Lc65pw0_ftC00r1D8Ys","title":"附录 B.2.1 值提示","pathname":"/spring-boot/x.-appendices/b.-configuration-metadata/b.2-providing-manual-hints/b.2.1-value-hint","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"X.附录"},{"label":"附录B. 配置元数据"},{"label":"附录B.2. 提供人工提示"}]},{"id":"-Lc65pw1Ba3YodQugHOc","title":"附录 B.2.2 值提供者","pathname":"/spring-boot/x.-appendices/b.-configuration-metadata/b.2-providing-manual-hints/b.2.2-value-provider","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"X.附录"},{"label":"附录B. 配置元数据"},{"label":"附录B.2. 提供人工提示"}]},{"id":"-M2RWbrkl9Uya9vagOPN","title":"附录B.3. 使用注解处理器产生自己的元数据","pathname":"/spring-boot/x.-appendices/b.-configuration-metadata/b.3.-generating-your-own-metadata-by-using-the-annotation-processor","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"X.附录"},{"label":"附录B. 配置元数据"}]},{"id":"-M2RZ-Ax1-E1H3eM94aN","title":"附录 B.3.1. 内嵌属性","pathname":"/spring-boot/x.-appendices/b.-configuration-metadata/b.3.-generating-your-own-metadata-by-using-the-annotation-processor/b.3.1.-nested-properties","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"X.附录"},{"label":"附录B. 配置元数据"},{"label":"附录B.3. 使用注解处理器产生自己的元数据"}]},{"id":"-M2R_xsOeu308_VSlIKy","title":"附录 B.3.2. 添加其他的元数据","pathname":"/spring-boot/x.-appendices/b.-configuration-metadata/b.3.-generating-your-own-metadata-by-using-the-annotation-processor/b.3.2.-adding-additional-metadata","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"X.附录"},{"label":"附录B. 配置元数据"},{"label":"附录B.3. 使用注解处理器产生自己的元数据"}]},{"id":"-Lc65pw5lWc7yNjilM5O","title":"附录C. 自动配置类","pathname":"/spring-boot/x.-appendices/c.-auto-configuration-classes","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"X.附录"}]},{"id":"-Lc65pw61xNo7vdMF7OZ","title":"附录C.1. 来自spring-boot-autoconfigure模块","pathname":"/spring-boot/x.-appendices/c.-auto-configuration-classes/c.1.-from-the-spring-boot-autoconfigure-module","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"X.附录"},{"label":"附录C. 自动配置类"}]},{"id":"-M3V21fUXTuwIWsAYrj7","title":"附录C.2. 来自spring-boot-actuator-autoconfigure模块","pathname":"/spring-boot/x.-appendices/c.-auto-configuration-classes/c.2.-from-the-spring-boot-actuator-autoconfigure-module","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"X.附录"},{"label":"附录C. 自动配置类"}]},{"id":"-Lc65pw8UsZx1r5bmsBP","title":"附录D. 测试的自动配置的标注","pathname":"/spring-boot/x.-appendices/d.-test-auto-configuration-annotations","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"X.附录"}]},{"id":"-M4wWoD1kAKuFukS1h1j","title":"附录E. 可执行Jar格式","pathname":"/spring-boot/x.-appendices/e.-the-executable-jar-format","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"X.附录"}]},{"id":"-Lc65pwAUA-OyL5yRjaD","title":"附录E.1. 内嵌JARs","pathname":"/spring-boot/x.-appendices/e.-the-executable-jar-format/e.1.-nested-jars","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"X.附录"},{"label":"附录E. 可执行Jar格式"}]},{"id":"-M4wY1nuqJOpBtGE4J9j","title":"附录E.1.1. 可执行Jar文件结构","pathname":"/spring-boot/x.-appendices/e.-the-executable-jar-format/e.1.-nested-jars/e.1.1.-the-executable-jar-file-structure","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"X.附录"},{"label":"附录E. 可执行Jar格式"},{"label":"附录E.1. 内嵌JARs"}]},{"id":"-M4wYRNESCqc_QHqIgFt","title":"附录E.1.2. 可执行War文件结构","pathname":"/spring-boot/x.-appendices/e.-the-executable-jar-format/e.1.-nested-jars/e.1.2.-the-executable-war-file-structure","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"X.附录"},{"label":"附录E. 可执行Jar格式"},{"label":"附录E.1. 内嵌JARs"}]},{"id":"-M4wYnemlsH9ip7a1hEw","title":"附录E.2. Spring Boot的\"JarFile\"类","pathname":"/spring-boot/x.-appendices/e.-the-executable-jar-format/e.2.-spring-boots-jarfile-class","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"X.附录"},{"label":"附录E. 可执行Jar格式"}]},{"id":"-M4w_eFhggiREjSKu9Qk","title":"附录E.2.1. 对标准Java \"JarFile\"的兼容性","pathname":"/spring-boot/x.-appendices/e.-the-executable-jar-format/e.2.-spring-boots-jarfile-class/e.2.1.-compatibility-with-the-standard-java-jarfile","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"X.附录"},{"label":"附录E. 可执行Jar格式"},{"label":"附录E.2. Spring Boot的\"JarFile\"类"}]},{"id":"-M5PJZ-HLyDSfyLnyK3b","title":"附录E.3. 启动可执行Jars","pathname":"/spring-boot/x.-appendices/e.-the-executable-jar-format/e.3.-launching-executable-jars","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"X.附录"},{"label":"附录E. 可执行Jar格式"}]},{"id":"-M5PK6UGB3IgahAePFXX","title":"附录E.3.1 Launcher manifest","pathname":"/spring-boot/x.-appendices/e.-the-executable-jar-format/e.3.-launching-executable-jars/e.3.1.-launcher-manifest","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"X.附录"},{"label":"附录E. 可执行Jar格式"},{"label":"附录E.3. 启动可执行Jars"}]},{"id":"-M5PKaUPTg3nL6UtSLOy","title":"附录E.3.2. 暴露的存档","pathname":"/spring-boot/x.-appendices/e.-the-executable-jar-format/e.3.-launching-executable-jars/e.3.2.-exploded-archives","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"X.附录"},{"label":"附录E. 可执行Jar格式"},{"label":"附录E.3. 启动可执行Jars"}]},{"id":"-Lc65pwIhY6QuL0LRis-","title":"附录E.4. PropertiesLauncher特性","pathname":"/spring-boot/x.-appendices/e.-the-executable-jar-format/e.4.-propertieslauncher-features","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"X.附录"},{"label":"附录E. 可执行Jar格式"}]},{"id":"-M5PWDQd4JhgORiA2cAA","title":"附录E.5. 可执行jar的限制","pathname":"/spring-boot/x.-appendices/e.-the-executable-jar-format/e.5.-executable-jar-restrictions","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"X.附录"},{"label":"附录E. 可执行Jar格式"}]},{"id":"-M5PWw0JtKlPNttto7x1","title":"附录E.6. 可替代的单一jar解决方案","pathname":"/spring-boot/x.-appendices/e.-the-executable-jar-format/e.6.-alternative-single-jar-solutions","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"X.附录"},{"label":"附录E. 可执行Jar格式"}]},{"id":"-Lc65pwNtT-A0Jgn6iQi","title":"附录F. 依赖版本","pathname":"/spring-boot/x.-appendices/f.-dependency-versions","siteSpaceId":"sitesp_Vs35t","description":"","breadcrumbs":[{"label":"X.附录"}]}]}