What is the primary mechanism Spring Boot uses to trigger auto-configuration based on the contents of the classpath?