【发布时间】:2020-01-21 13:21:34
【问题描述】:
我正在使用 kotlin。我有两个春季班,com.example.SpringConfigA 和com.example.SpringConfigB。我正在尝试将它们导入com.example.SpringConfigParent,但以下都不起作用:
尝试1,错误:This annotation is not repeatable
@Import(com.example.SpringConfigA)
@Import(com.example.SpringConfigB)
class SpringConfigParent {}
尝试2,错误:Type mismatch: inferred type is () -> ??? but KClass<*> was expected
@Import({com.example.SpringConfigA, com.example.SpringConfigB})
class SpringConfigParent {}
尝试3,错误:Only 'const val' can be used in constant expressions
@Import(arrayOf(com.example.SpringConfigA, com.example.SpringConfigB))
class SpringConfigParent {}
Kotlin 中的正确语法是什么?
编辑:正如@jaquelinep 建议的那样,我忘了添加::class,尝试一下:
尝试1,错误:This annotation is not repeatable
@Import(com.example.SpringConfigA::class)
@Import(com.example.SpringConfigB::class)
class SpringConfigParent {}
尝试2,错误:Type mismatch: inferred type is () -> KClass<SpringConfigA> but KClass<*> was expected
@Import({com.example.SpringConfigA::class, com.example.SpringConfigB::class})
class SpringConfigParent {}
尝试3,错误:Type inference failed. Expected type mismatch: inferred type is Array<KClass<out Any>> but KClass<*> was expected
@Import(arrayOf(com.example.SpringConfigA::class, com.example.SpringConfigB::class))
class SpringConfigParent {}
【问题讨论】:
标签: spring spring-boot kotlin