On this page
Spring Boot Reference Guide
Authors
Phillip Webb, Dave Syer, Josh Long, Stéphane Nicoll, Rob Winch, Andy Wilkinson, Marcel Overdijk, Christian Dupuis, Sébastien Deleuze, Michael Simons, Vedran Pavić, Jay Bryant, Madhura Bhave2.1.1.RELEASE
Copyright © 2012-2018
Table of Contents
- I. Spring Boot Documentation
- II. Getting Started
- III. Using Spring Boot
-
- 13. Build Systems
- 14. Structuring Your Code
- 15. Configuration Classes
- 16. Auto-configuration
- 17. Spring Beans and Dependency Injection
- 18. Using the @SpringBootApplication Annotation
- 19. Running Your Application
- 20. Developer Tools
- 21. Packaging Your Application for Production
- 22. What to Read Next
- IV. Spring Boot features
-
- 23. SpringApplication
-
- 23.1. Startup Failure
- 23.2. Customizing the Banner
- 23.3. Customizing SpringApplication
- 23.4. Fluent Builder API
- 23.5. Application Events and Listeners
- 23.6. Web Environment
- 23.7. Accessing Application Arguments
- 23.8. Using the ApplicationRunner or CommandLineRunner
- 23.9. Application Exit
- 23.10. Admin Features
- 24. Externalized Configuration
- 25. Profiles
- 26. Logging
- 27. JSON
- 28. Developing Web Applications
-
- 28.1. The “Spring Web MVC Framework”
-
- 28.1.1. Spring MVC Auto-configuration
- 28.1.2. HttpMessageConverters
- 28.1.3. Custom JSON Serializers and Deserializers
- 28.1.4. MessageCodesResolver
- 28.1.5. Static Content
- 28.1.6. Welcome Page
- 28.1.7. Custom Favicon
- 28.1.8. Path Matching and Content Negotiation
- 28.1.9. ConfigurableWebBindingInitializer
- 28.1.10. Template Engines
- 28.1.11. Error Handling
- 28.1.12. Spring HATEOAS
- 28.1.13. CORS Support
- 28.2. The “Spring WebFlux Framework”
- 28.3. JAX-RS and Jersey
- 28.4. Embedded Servlet Container Support
- 28.5. Embedded Reactive Server Support
- 28.6. Reactive Server Resources Configuration
- 29. Security
- 30. Working with SQL Databases
- 31. Working with NoSQL Technologies
- 32. Caching
- 33. Messaging
- 34. Calling REST Services with
RestTemplate
- 35. Calling REST Services with
WebClient
- 36. Validation
- 37. Sending Email
- 38. Distributed Transactions with JTA
- 39. Hazelcast
- 40. Quartz Scheduler
- 41. Task Execution and Scheduling
- 42. Spring Integration
- 43. Spring Session
- 44. Monitoring and Management over JMX
- 45. Testing
-
- 45.1. Test Scope Dependencies
- 45.2. Testing Spring Applications
- 45.3. Testing Spring Boot Applications
-
- 45.3.1. Detecting Web Application Type
- 45.3.2. Detecting Test Configuration
- 45.3.3. Excluding Test Configuration
- 45.3.4. Testing with a mock environment
- 45.3.5. Testing with a running server
- 45.3.6. Using JMX
- 45.3.7. Mocking and Spying Beans
- 45.3.8. Auto-configured Tests
- 45.3.9. Auto-configured JSON Tests
- 45.3.10. Auto-configured Spring MVC Tests
- 45.3.11. Auto-configured Spring WebFlux Tests
- 45.3.12. Auto-configured Data JPA Tests
- 45.3.13. Auto-configured JDBC Tests
- 45.3.14. Auto-configured Data JDBC Tests
- 45.3.15. Auto-configured jOOQ Tests
- 45.3.16. Auto-configured Data MongoDB Tests
- 45.3.17. Auto-configured Data Neo4j Tests
- 45.3.18. Auto-configured Data Redis Tests
- 45.3.19. Auto-configured Data LDAP Tests
- 45.3.20. Auto-configured REST Clients
- 45.3.21. Auto-configured Spring REST Docs Tests
- 45.3.22. Additional Auto-configuration and Slicing
- 45.3.23. User Configuration and Slicing
- 45.3.24. Using Spock to Test Spring Boot Applications
- 45.4. Test Utilities
- 46. WebSockets
- 47. Web Services
- 48. Calling Web Services with
WebServiceTemplate
- 49. Creating Your Own Auto-configuration
- 50. Kotlin support
- 51. What to Read Next
- V. Spring Boot Actuator: Production-ready features
-
- 52. Enabling Production-ready Features
- 53. Endpoints
- 54. Monitoring and Management over HTTP
- 55. Monitoring and Management over JMX
- 56. Loggers
- 57. Metrics
- 58. Auditing
- 59. HTTP Tracing
- 60. Process Monitoring
- 61. Cloud Foundry Support
- 62. What to Read Next
- VI. Deploying Spring Boot Applications
- VII. Spring Boot CLI
-
- 66. Installing the CLI
- 67. Using the CLI
- 68. Developing Applications with the Groovy Beans DSL
- 69. Configuring the CLI with
settings.xml
- 70. What to Read Next
- VIII. Build tool plugins
- IX. ‘How-to’ guides
-
- 76. Spring Boot Application
- 77. Properties and Configuration
-
- 77.1. Automatically Expand Properties at Build Time
- 77.2. Externalize the Configuration of
SpringApplication
- 77.3. Change the Location of External Properties of an Application
- 77.4. Use ‘Short’ Command Line Arguments
- 77.5. Use YAML for External Properties
- 77.6. Set the Active Spring Profiles
- 77.7. Change Configuration Depending on the Environment
- 77.8. Discover Built-in Options for External Properties
- 78. Embedded Web Servers
-
- 78.1. Use Another Web Server
- 78.2. Disabling the Web Server
- 78.3. Change the HTTP Port
- 78.4. Use a Random Unassigned HTTP Port
- 78.5. Discover the HTTP Port at Runtime
- 78.6. Enable HTTP Response Compression
- 78.7. Configure SSL
- 78.8. Configure HTTP/2
- 78.9. Configure the Web Server
- 78.10. Add a Servlet, Filter, or Listener to an Application
- 78.11. Configure Access Logging
- 78.12. Running Behind a Front-end Proxy Server
- 78.13. Enable Multiple Connectors with Tomcat
- 78.14. Use Tomcat’s LegacyCookieProcessor
- 78.15. Enable Multiple Listeners with Undertow
- 78.16. Create WebSocket Endpoints Using @ServerEndpoint
- 79. Spring MVC
-
- 79.1. Write a JSON REST Service
- 79.2. Write an XML REST Service
- 79.3. Customize the Jackson ObjectMapper
- 79.4. Customize the @ResponseBody Rendering
- 79.5. Handling Multipart File Uploads
- 79.6. Switch Off the Spring MVC DispatcherServlet
- 79.7. Switch off the Default MVC Configuration
- 79.8. Customize ViewResolvers
- 80. Testing With Spring Security
- 81. Jersey
- 82. HTTP Clients
- 83. Logging
- 84. Data Access
-
- 84.1. Configure a Custom DataSource
- 84.2. Configure Two DataSources
- 84.3. Use Spring Data Repositories
- 84.4. Separate @Entity Definitions from Spring Configuration
- 84.5. Configure JPA Properties
- 84.6. Configure Hibernate Naming Strategy
- 84.7. Configure Hibernate Second-Level Caching
- 84.8. Use Dependency Injection in Hibernate Components
- 84.9. Use a Custom EntityManagerFactory
- 84.10. Use Two EntityManagers
- 84.11. Use a Traditional
persistence.xml
File - 84.12. Use Spring Data JPA and Mongo Repositories
- 84.13. Customize Spring Data’s Web Support
- 84.14. Expose Spring Data Repositories as REST Endpoint
- 84.15. Configure a Component that is Used by JPA
- 84.16. Configure jOOQ with Two DataSources
- 85. Database Initialization
- 86. Messaging
- 87. Batch Applications
- 88. Actuator
- 89. Security
- 90. Hot Swapping
- 91. Build
-
- 91.1. Generate Build Information
- 91.2. Generate Git Information
- 91.3. Customize Dependency Versions
- 91.4. Create an Executable JAR with Maven
- 91.5. Use a Spring Boot Application as a Dependency
- 91.6. Extract Specific Libraries When an Executable Jar Runs
- 91.7. Create a Non-executable JAR with Exclusions
- 91.8. Remote Debug a Spring Boot Application Started with Maven
- 91.9. Build an Executable Archive from Ant without Using
spring-boot-antlib
- 92. Traditional Deployment
- X. Appendices
-
- A. Common application properties
- B. Configuration Metadata
- C. Auto-configuration classes
- D. Test auto-configuration annotations
- E. The Executable Jar Format
- F. Dependency versions