On this page
- 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
- 28.1. The “Spring Web MVC Framework”
- 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
- 23. SpringApplication
- 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