注释在科特林可以有不同的使用网站的目标如下解释:https://kotlinlang.org/docs/reference/annotations.html#annotation-use-site-targets注释Kotlin中的属性时,注释的默认目标是什么?
我的问题是:当没有明确定义使用现场,什么是默认的目标时,注释的类属性就像在下面的例子?
class Test {
@SomeAnnotation
var someProperty: String? = null
}
背景
我想Jongo在科特林MongoDB的客户端,并有注释id字段的问题。
@MongoId @MongoObjectId var id: String? = null
有问题的注释是刚刚元注释杰克逊:Jongo不会当它的注释是这样id属性正确映射。然而,似乎当我注释的财产像这样的工作,说明使用现场问题:
@field:[MongoId MongoObjectId]
var id: String? = null
我预计@field
是默认使用现场,但似乎并非如此。
啊..我不知何故错过了那部分,即使我正在积极寻找它。这解释了为什么映射不指定@field不起作用。 MongoId没有TARGET,并且属性注释对Java不可见。由于Jongo使用期望字段或getter注释的Jackson,因此无法看到注释。 –
@KresimirNesek你想要它在Jackson的吸气剂上,所以'@get:SomeAnnotation'属性。 –