Kotlin & Spring Boot @ConfigurationProperties

Как правильно инициализировать ConfigurationProperties в Spring Boot с Kotlin ?

В настоящее время мне нравится в следующем примере:

@ConfigurationProperties("app") class Config { var foo: String? = null } 

Но он выглядит довольно уродливым, и на самом деле foo не является var iable, foo является постоянным значением и должен быть инициализирован во время запуска и не изменится в будущем .

Как указано в документах : для использования ConfigurationProperties должен быть предоставлен « Java Bean ». Это означает, что ваши свойства должны иметь геттеры и сеттеры, поэтому val в данный момент невозможно.

Getters и seters обычно являются обязательными, поскольку привязка осуществляется через стандартные дескрипторы свойств Java Beans, как в Spring MVC. Есть случаи, когда сеттер может быть опущен […]

Для вашего случая использования существует открытая проблема, связанная с Kotlin: https://github.com/spring-projects/spring-boot/issues/8762

 @Value("\${some.property.key:}") lateinit var foo:String 

можно использовать таким образом