Describe the internal working of Spring Boot's auto-configuration and how you override default configurations for a custom microservice.