I was just going through an article about @ConfigurationProperties and how the main class needs to be annotated with @EnableConfigurationProperties in order for the binding to take place but then just below in another section read that @ConfigurationPropertiesScan can also be used to for the same.
So, my question is why introduce another annotation when @EnableConfigurationProperties works just fine.
Also as a follow up, if @Component or @Configuration also gets the job done, then why not use @Component or @Configuration for the same?