El tutorial o código que verás en este artículo es la solución más sencilla y efectiva que hallamos a esta duda o problema.
Solución:
Esto se espera como @ConfigurationProperties
no hace que una clase sea Spring Component
. Marca la clase con @Component
y debería funcionar. Tenga en cuenta que una clase solo se puede inyectar si es un Component
.
Editar: Desde Spring 2.2+ (Referencia)
@ConfigurationProperties
escaneando Clases anotadas con @ConfigurationProperties
ahora se puede encontrar a través del escaneo de classpath como una alternativa al uso @EnableConfigurationProperties
o @Component
. Agregar @ConfigurationPropertiesScan
a su aplicación para habilitar el escaneo.
Intente anotar con @ConfigurationProperties y @Component
Aquí, Spring Boot @ConfigurationProperties es una anotación para la configuración externalizada. Si intenta inyectar un valor de propiedad de un archivo de propiedades a una clase, puede agregar @ConfigurationProperties a nivel de clase con anotaciones de estereotipo como @Component o agregar @ConfigurationProperties a un método @Bean.