9.13.4. Map Health Indicators to Micrometer Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê347
9.14. Security. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê348
9.14.1. Switch off the Spring Boot Security Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê348
9.14.2. Change the UserDetailsService and Add User Accounts . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê348
9.14.3. Enable HTTPS When Running behind a Proxy Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê349
9.15. Hot Swapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê349
9.15.1. Reload Static Content. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê349
9.15.2. Reload Templates without Restarting the Container . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê350
Thymeleaf Templates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê350
FreeMarker Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê350
Groovy Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê350
9.15.3. Fast Application Restarts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê350
9.15.4. Reload Java Classes without Restarting the Container . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê350
9.16. Build . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê350
9.16.1. Generate Build Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê351
9.16.2. Generate Git Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê351
9.16.3. Customize Dependency Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê352
9.16.4. Create an Executable JAR with Maven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê352
9.16.5. Use a Spring Boot Application as a Dependency. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê353
9.16.6. Extract Specific Libraries When an Executable Jar Runs . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê354
9.16.7. Create a Non-executable JAR with Exclusions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê355
9.16.8. Remote Debug a Spring Boot Application Started with Maven. . . . . . . . . . . . . . . . . . . . . . Ê355
9.16.9. Build an Executable Archive from Ant without Using spring-boot-antlib . . . . . . . . . . . . Ê355
9.17. Traditional Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê356
9.17.1. Create a Deployable War File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê357
9.17.2. Convert an Existing Application to Spring Boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê358
9.17.3. Deploying a WAR to WebLogic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê361
9.17.4. Use Jedis Instead of Lettuce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê361
9.17.5. Use Testcontainers for integration testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê362
10. Appendices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê364
Appendix A: Common Application properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê364
10.A.1. Core properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê364
10.A.2. Cache properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê370
10.A.3. Mail properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê370
10.A.4. JSON properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê371
10.A.5. Data properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê372
10.A.6. Transaction properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê388
10.A.7. Data migration properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê394
10.A.8. Integration properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê397
10.A.9. Web properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê411
10.A.10. Templating properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ê414