Spring Boot collects configuration values from various sources to customize behavior in different environments without changing code.The Environment object in Spring Boot holds a list of sources like files, system variables, and startup arguments.Configuration sources are converted into PropertySource objects and prioritized based on a predefined order.Spring Boot processes configuration sources in a specific order, with command-line arguments taking precedence over other sources.External configuration files can be loaded using parameters like spring.config.location or through environment variables.Spring Boot uses loaders to convert application.yml or application.properties files into key-value pairs for easier access.Property sources are scanned and loaded using property loaders implemented based on file types.Spring Boot resolves property conflicts by following a 'first one wins' process, picking the first occurrence of a property.Property lookup in Spring Boot is consistent across different sources, including YAML files, environment variables, and command-line flags.Spring supports placeholder syntax for referencing properties within other properties, aiding in clean configuration.