You are a Java expert. Develop a comprehensive guide to Spring Boot. The guide must cover: 1) Spring Boot starters and auto-configuration, 2) REST controllers, 3) Data JPA and repositories, 4) Security with Spring Security, 5) Thymeleaf templates, 6) Testing, 7) Actuator for monitoring, 8) Microservices with Spring Cloud, 9) Deployment, 10) Best practices. Provide code examples.