как использовать весенние аннотации, такие как @Autowired или @Value в kotlin для примитивных типов?

Autowiring non-primitive с весенними аннотациями, такими как

@Autowired lateinit var metaDataService: MetaDataService 

работает.

Но это не работает:

 @Value("\${cacheTimeSeconds}") lateinit var cacheTimeSeconds: Int 

с ошибкой:

модификатор lateinit не допускается для примитивных типов.

Как autowire свойства primitve в классы kotlin?

Solutions Collecting From Web of "как использовать весенние аннотации, такие как @Autowired или @Value в kotlin для примитивных типов?"

Проблема заключается не в аннотации, а в сочетании с примитивным и латинитом, в соответствии с этим вопросом, Котлин не допускает примитивных приматов.

Исправить было бы изменение на NULL-тип Int? , или не использовать lateinit

Эта TryItOnline показывает проблему.

Kotlin компилирует Int в int в java-код. Весне нужны не примитивные типы для инъекций, поэтому вы должны использовать Int? / Boolean? / Длинный? и т. д. Nullable типы kotlin компилируются в Integer / Boolean / и т. д.