If you want to use simple "input
" prefix, which is trying to pickup properties form the root, you will need to update your application.properties
file content with .properties
prefix, like @rahulP suggested.
But, as far as you are trying to map ServiceModel
- better will be to update prefix and properties with input.service
prefix, see https://docs.spring.io/spring-boot/reference/features/external-config.html#features.external-config.typesafe-configuration-properties:
@ConfigurationProperties(prefix = "input.services")
application.properties:
input.services.default.host=Default
input.services.default.ip=127.0.0.1
input.services.default.desc=Default Desc
input.services.serviceA.host=ServiceA
input.services.serviceA.ip=192.168.21.1
input.services.serviceA.desc=ServiceA Desc
input.services.serviceB.host=ServiceB
input.services.serviceB.ip=192.168.21.22
input.services.serviceB.desc=ServiceB Desc
Also I think you are missing default contructor in ServiceModel
, which is required for Spring.