== relaxed binding matrix == canonical property: demo.relaxed.api-key SPELLING SOURCE BINDER ${} plain ${} boot -------------------------------------------------------------- demo.relaxed.api-key map bound bound bound demo.relaxed.apiKey map bound MISS bound demo.relaxed.api_key map bound MISS bound demo.relaxed.APIKEY map bound MISS bound DEMO.RELAXED.API-KEY map bound MISS bound demo.relaxed.apikey map bound MISS bound demo.relaxed.api.key map MISS MISS MISS DEMO_RELAXED_API_KEY env bound bound bound DEMO_RELAXED_APIKEY env bound MISS bound demo_relaxed_api_key env bound bound bound DEMO.RELAXED.API-KEY env bound bound bound BINDER = what @ConfigurationProperties sees (Binder) ${} plain = placeholder resolution against a bare StandardEnvironment ${} boot = the same, after ConfigurationPropertySources.attach(env), which Spring Boot performs on every environment it prepares bound = the value arrived; MISS = the property was not found