没有合适的资源?快使用搜索试试~ 我知道了~
首页Spring Boot参考指南:入门与核心技术
Spring Boot参考指南:入门与核心技术
需积分: 5 1 下载量 64 浏览量
更新于2024-07-04
收藏 14.19MB PDF 举报
"Spring Boot参考文档是Spring Boot项目的核心指南,由Philipp Webb, Dave Syer, Josh Long等多位贡献者编写,涵盖了从入门到高级主题的全面内容。文档版本为2.6.7,旨在帮助开发者理解和使用Spring Boot框架,包括法律条款、获取帮助、文档概述、开始指南、升级Spring Boot、核心特性、Web开发、数据处理、消息传递、IO、容器镜像以及生产就绪特性等多个章节。"
Spring Boot是一个简化了Spring应用初始搭建以及开发过程的框架,它集成了大量常用的第三方库配置,如数据源、定时任务、缓存、消息、邮件等,使得开发者可以“零配置”地快速构建应用。
在文档的“Getting Started”部分,首先介绍了Spring Boot的基本概念,解释了它如何简化Spring应用程序的创建。系统需求章节详细列出了Servlet容器的要求,如Tomcat或Jetty,这对于理解运行环境至关重要。接下来,针对Java开发者提供了详细的安装指南,包括Maven和Gradle的集成,以及Spring Boot命令行接口(CLI)的安装方法,如手动安装、SDKMAN!、Homebrew、MacPorts、命令行补全、Windows Scoop等不同平台的安装选项。此外,文档还提供了一个快速入门的Spring CLI示例,帮助开发者迅速上手编写第一个Spring Boot应用。
"Core Features"章节深入讨论了Spring Boot的核心特性,这包括自动配置、内嵌的Servlet容器、健康检查、外部化配置等。自动配置是Spring Boot的一大亮点,它可以根据类路径中的存在内容自动配置Spring应用。内嵌的Servlet容器使得无需单独部署,可直接运行主类启动应用。健康检查和外部化配置则为生产环境提供了便利,允许监控应用状态并动态调整配置。
在"Web"部分,文档详细讲解了如何使用Spring MVC创建RESTful服务,包括模板引擎(如Thymeleaf、Freemarker)的集成,以及静态资源的处理。"Data"章节涉及数据访问,涵盖JPA、Hibernate、数据源配置、事务管理等内容,帮助开发者管理数据库。
"Developing with Spring Boot"章节则为开发者提供了进阶的实践指导,包括测试、安全、云原生应用的支持等。例如,Spring Security可以轻松地为应用添加安全控制,而云原生支持则让Spring Boot应用能在Docker、Kubernetes等环境下良好运行。
文档的其他章节,如"Messaging"、"IO"、"Container Images"和"Production-ready Features",分别涵盖了消息传递(如RabbitMQ、Kafka)、I/O操作、容器镜像的创建与管理,以及生产环境中使用的各种功能,如监控、日志、健康检查等。
Spring Boot参考文档是学习和使用Spring Boot的权威资料,无论你是初学者还是经验丰富的开发者,都能从中找到所需的信息,提升你的开发效率和应用质量。
17.2.8. Change Configuration Depending on the Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê424
17.2.9. Discover Built-in Options for External Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê425
17.3. Embedded Web Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê425
17.3.1. Use Another Web Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê425
17.3.2. Disabling the Web Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê428
17.3.3. Change the HTTP Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê428
17.3.4. Use a Random Unassigned HTTP Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê428
17.3.5. Discover the HTTP Port at Runtime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê428
17.3.6. Enable HTTP Response Compression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê429
17.3.7. Configure SSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê430
17.3.8. Configure HTTP/2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê430
HTTP/2 with Tomcat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê430
HTTP/2 with Jetty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê431
HTTP/2 with Reactor Netty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê431
HTTP/2 with Undertow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê431
17.3.9. Configure the Web Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê431
17.3.10. Add a Servlet, Filter, or Listener to an Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê433
Add a Servlet, Filter, or Listener by Using a Spring Bean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê433
Add Servlets, Filters, and Listeners by Using Classpath Scanning . . . . . . . . . . . . . . . . . . . . . . . Ê434
17.3.11. Configure Access Logging. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê434
17.3.12. Running Behind a Front-end Proxy Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê435
Customize Tomcat’s Proxy Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê436
17.3.13. Enable Multiple Connectors with Tomcat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê437
17.3.14. Use Tomcat’s LegacyCookieProcessor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê439
17.3.15. Enable Tomcat’s MBean Registry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê439
17.3.16. Enable Multiple Listeners with Undertow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê440
17.3.17. Create WebSocket Endpoints Using @ServerEndpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê440
17.4. Spring MVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê441
17.4.1. Write a JSON REST Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê441
17.4.2. Write an XML REST Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê442
17.4.3. Customize the Jackson ObjectMapper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê442
17.4.4. Customize the @ResponseBody Rendering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê444
17.4.5. Handling Multipart File Uploads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê444
17.4.6. Switch Off the Spring MVC DispatcherServlet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê445
17.4.7. Switch off the Default MVC Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê445
17.4.8. Customize ViewResolvers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê445
17.5. Jersey. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê447
17.5.1. Secure Jersey endpoints with Spring Security. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê447
17.5.2. Use Jersey Alongside Another Web Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê447
17.6. HTTP Clients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê448
17.6.1. Configure RestTemplate to Use a Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê448
17.6.2. Configure the TcpClient used by a Reactor Netty-based WebClient . . . . . . . . . . . . . . . . . . Ê448
17.7. Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê449
17.7.1. Configure Logback for Logging. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê450
Configure Logback for File-only Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê451
17.7.2. Configure Log4j for Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê452
Use YAML or JSON to Configure Log4j 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê453
Use Composite Configuration to Configure Log4j 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê454
17.8. Data Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê454
17.8.1. Configure a Custom DataSource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê454
17.8.2. Configure Two DataSources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê459
17.8.3. Use Spring Data Repositories. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê463
17.8.4. Separate @Entity Definitions from Spring Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . Ê463
17.8.5. Configure JPA Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê463
17.8.6. Configure Hibernate Naming Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê464
17.8.7. Configure Hibernate Second-Level Caching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê466
17.8.8. Use Dependency Injection in Hibernate Components. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê467
17.8.9. Use a Custom EntityManagerFactory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê467
17.8.10. Using Multiple EntityManagerFactories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê467
17.8.11. Use a Traditional persistence.xml File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê469
17.8.12. Use Spring Data JPA and Mongo Repositories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê470
17.8.13. Customize Spring Data’s Web Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê470
17.8.14. Expose Spring Data Repositories as REST Endpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê470
17.8.15. Configure a Component that is Used by JPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê470
17.8.16. Configure jOOQ with Two DataSources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê471
17.9. Database Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê471
17.9.1. Initialize a Database Using JPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê471
17.9.2. Initialize a Database Using Hibernate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê471
17.9.3. Initialize a Database Using Basic SQL Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê472
17.9.4. Initialize a Spring Batch Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê473
17.9.5. Use a Higher-level Database Migration Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê473
Execute Flyway Database Migrations on Startup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê473
Execute Liquibase Database Migrations on Startup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê475
17.9.6. Depend Upon an Initialized Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê475
Detect a Database Initializer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê476
Detect a Bean That Depends On Database Initialization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê476
17.10. Messaging. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê476
17.10.1. Disable Transacted JMS Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê476
17.11. Batch Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê477
17.11.1. Specifying a Batch Data Source. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê477
17.11.2. Running Spring Batch Jobs on Startup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê477
17.11.3. Running from the Command Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê478
17.11.4. Storing the Job Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê478
17.12. Actuator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê478
17.12.1. Change the HTTP Port or Address of the Actuator Endpoints . . . . . . . . . . . . . . . . . . . . . . Ê478
17.12.2. Customize the ‘whitelabel’ Error Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê478
17.12.3. Sanitize Sensitive Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê479
Customizing Sanitization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê479
17.12.4. Map Health Indicators to Micrometer Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê480
17.13. Security. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê481
17.13.1. Switch off the Spring Boot Security Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê481
17.13.2. Change the UserDetailsService and Add User Accounts . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê481
17.13.3. Enable HTTPS When Running behind a Proxy Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê482
17.14. Hot Swapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê483
17.14.1. Reload Static Content. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê483
17.14.2. Reload Templates without Restarting the Container . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê483
Thymeleaf Templates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê484
FreeMarker Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê484
Groovy Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê484
17.14.3. Fast Application Restarts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê484
17.14.4. Reload Java Classes without Restarting the Container . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê484
17.15. Testing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê484
17.15.1. Testing With Spring Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê484
17.15.2. Use Testcontainers for Integration Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê485
17.15.3. Structure @Configuration classes for inclusion in slice tests . . . . . . . . . . . . . . . . . . . . . . . Ê487
17.16. Build . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê489
17.16.1. Generate Build Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê489
17.16.2. Generate Git Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê490
17.16.3. Customize Dependency Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê491
17.16.4. Create an Executable JAR with Maven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê491
17.16.5. Use a Spring Boot Application as a Dependency. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê492
17.16.6. Extract Specific Libraries When an Executable Jar Runs. . . . . . . . . . . . . . . . . . . . . . . . . . Ê493
17.16.7. Create a Non-executable JAR with Exclusions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê494
17.16.8. Remote Debug a Spring Boot Application Started with Maven. . . . . . . . . . . . . . . . . . . . . Ê494
17.16.9. Build an Executable Archive from Ant without Using spring-boot-antlib . . . . . . . . . . . Ê494
17.17. Traditional Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê495
17.17.1. Create a Deployable War File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê496
17.17.2. Convert an Existing Application to Spring Boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê497
17.17.3. Deploying a WAR to WebLogic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê500
Appendices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê502
Appendix A: Common Application Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê502
.A.1. Core Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê502
.A.2. Cache Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê510
.A.3. Mail Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê511
.A.4. JSON Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê512
.A.5. Data Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê514
.A.6. Transaction Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê537
.A.7. Data Migration Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê541
.A.8. Integration Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê548
.A.9. Web Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê569
.A.10. Templating Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê576
.A.11. Server Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê583
.A.12. Security Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê594
.A.13. RSocket Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê595
.A.14. Actuator Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê596
.A.15. Devtools Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê622
.A.16. Testing Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê624
Appendix B: Configuration Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê624
.B.1. Metadata Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê624
Group Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê626
Property Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê627
Hint Attributes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê629
Repeated Metadata Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê630
.B.2. Providing Manual Hints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê631
Value Hint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê631
Value Providers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê632
.B.3. Generating Your Own Metadata by Using the Annotation Processor . . . . . . . . . . . . . . . . . . Ê638
Configuring the Annotation Processor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê638
Automatic Metadata Generation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê639
Adding Additional Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê645
Appendix C: Auto-configuration Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê645
.C.1. spring-boot-autoconfigure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê645
.C.2. spring-boot-actuator-autoconfigure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê649
Appendix D: Test Auto-configuration Annotations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê653
.D.1. Test Slices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê653
Appendix E: The Executable Jar Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê660
.E.1. Nested JARs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê660
The Executable Jar File Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê660
The Executable War File Structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê661
Index Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê662
Classpath Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê662
Layer Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê662
.E.2. Spring Boot’s “JarFile” Class. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê663
Compatibility with the Standard Java “JarFile”. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê663
.E.3. Launching Executable Jars. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê663
Launcher Manifest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê664
.E.4. PropertiesLauncher Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê664
.E.5. Executable Jar Restrictions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê666
.E.6. Alternative Single Jar Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê666
Appendix F: Dependency Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê666
.F.1. Managed Dependency Coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê666
.F.2. Version Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê698
剩余722页未读,继续阅读
2017-06-06 上传
2020-06-29 上传
2024-11-18 上传
2024-11-18 上传
dyh200896
- 粉丝: 5
- 资源: 24
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Python和Opencv的车牌识别系统实现
- 我的代码小部件库:统计、MySQL操作与树结构功能
- React初学者入门指南:快速构建并部署你的第一个应用
- Oddish:夜潜CSGO皮肤,智能爬虫技术解析
- 利用REST HaProxy实现haproxy.cfg配置的HTTP接口化
- LeetCode用例构造实践:CMake和GoogleTest的应用
- 快速搭建vulhub靶场:简化docker-compose与vulhub-master下载
- 天秤座术语表:glossariolibras项目安装与使用指南
- 从Vercel到Firebase的全栈Amazon克隆项目指南
- ANU PK大楼Studio 1的3D声效和Ambisonic技术体验
- C#实现的鼠标事件功能演示
- 掌握DP-10:LeetCode超级掉蛋与爆破气球
- C与SDL开发的游戏如何编译至WebAssembly平台
- CastorDOC开源应用程序:文档管理功能与Alfresco集成
- LeetCode用例构造与计算机科学基础:数据结构与设计模式
- 通过travis-nightly-builder实现自动化API与Rake任务构建
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功