如何在基本类型中使用kotlin中的@Autowired或@Value等Spring注解?
使用类似Spring的注释自动装配非基元
@Autowired lateinit var metaDataService: MetaDataService
作品。
但是这不起作用:
@Value("\${cacheTimeSeconds}") lateinit var cacheTimeSeconds: Int
有一个错误:
基元类型不允许使用lateinit修饰符。
如何autotire primitve属性到kotlin类?
问题不在于注释,而在于根据这个问题,原始性和后期性的组合,Kotlin不允许后期的主要性质。
修复将更改为可空类型Int?
,或者不使用lateinit
这 TryItOnline显示的问题。
在Java代码中,Kotlin将Int编译为int。 Spring想注入非原始类型,所以你应该使用Int? /布尔? / 长? 可空类型kotlin编译为Integer / Boolean /等
- 在Kotlin中开发的Android库模块导出到Java应用程序导致失败的解决方案:Lkotlin / jvm / internal / Intrinsics
- 如何将Int转换为Kotlin中的字符串
- Spring REST,Kotin和默认的基本参数导致错误
- Spring Boot Kotlin Jersey ModelValidationException
- 在运行时生成的类中使用Kotlin对象
- 使用Kotlin功能DSL编写导航配置
- Java Stream with :: new to Kotlin
- 使用Spring HATEOAS ControllerLinkBuilder和Kotlin抛出IllegalArgumentException
- 带有Jetty + Jersey的Spring Boot始终显示404
- Kotlin NoClassDefFoundError和spring @RequestMapping方法
- 如何使用onErrorMap()处理异常时如何访问Mono <T>?