如何在基本types中使用kotlin中的@Autowired或@Value等Spring注解?
使用类似Spring的注释自动assembly非基元
@Autowired lateinit var metaDataService: MetaDataService
作品。
但是这不起作用:
@Value("\${cacheTimeSeconds}") lateinit var cacheTimeSeconds: Int
有一个错误:
基元types不允许使用lateinit修饰符。
如何autotire primitve属性到kotlin类?
问题不在于注释,而在于根据这个问题,原始性和后期性的组合,Kotlin不允许后期的主要性质。
修复将更改为可空typesInt?
,或者不使用lateinit
这 TryItOnline显示的问题。
在java代码中,Kotlin将int编译为int。 Spring想注入非原始types,所以你应该使用Int? /布尔? / 长? 可空typeskotlin编译为Integer / Boolean /等
- 如何做一个组,并使用RxJava和Kotlin收集?
- 使用Kotlin合成属性
- 如何根据选定的项目加载BottomNavigationView片段?
- 编译IntelliJBehave时找不到Kotlin类
- 使用@Cacheable时,Spring Boot不会自动启动记录器
- 在Android Studio 3.0中,Kapt不适用于AutoValue
- 未解决的参考:文本 – Android Studio + Kotlin(findViewById故障?)
- kotlin,我们可以在另一个类中使用参数传递的实际变量值如何?
- Kotlin中的super.onCreate(saveInstanceState)中的illegalArgumentsException