Since the first release of Spring Boot, it has been possible to bind properties to classes by using the @ConfigurationProperties
annotation. It has also been possible to specify property names in different forms. For example, person.first-name
, person.firstName
and PERSON_FIRSTNAME
can all be used interchangeably. We call this feature “relaxed binding”.
Unfortunately, in Spring Boot 1.x, “relaxed binding” turned out to be a little bit too relaxed. It was quite hard to define exactly what the binding rules were and when specific formats could be used. We also started to get reports of issues that were very hard to fix with our 1.x implementation. For example, in Spring Boot 1.x it is not possible to bind items to a java.util.Set
…