Inheritance 扩展@JsonDeserialize:Jackson无法识别自定义注释? 上下文 Spring boot 2.0.6应用程序 杰克逊2.11.2 问题

Inheritance 扩展@JsonDeserialize:Jackson无法识别自定义注释? 上下文 Spring boot 2.0.6应用程序 杰克逊2.11.2 问题,inheritance,jackson,deserialization,java-annotations,Inheritance,Jackson,Deserialization,Java Annotations,我想使用@JsonDeserialize将一个值字符串转换为一个值列表,因此我创建了一个自定义反序列化程序但我希望它支持参数,比如字符串每个值之间的“分隔符”字符 所以首先我做了这个,效果很好: 公共类StringListDeserializer扩展StdDeserializer实现ContextualDeserializer{ 私有静态最终字符串分隔符_DEFAULT=“,”; 私有字符串分隔符=分隔符\默认值; 公共StringListDeserializer(){ 这个(空); } 受保护

我想使用@JsonDeserialize将一个值字符串转换为一个值列表,因此我创建了一个自定义反序列化程序但我希望它支持参数,比如字符串每个值之间的“分隔符”字符

所以首先我做了这个,效果很好:

公共类StringListDeserializer扩展StdDeserializer实现ContextualDeserializer{
私有静态最终字符串分隔符_DEFAULT=“,”;
私有字符串分隔符=分隔符\默认值;
公共StringListDeserializer(){
这个(空);
}
受保护的StringListDeserializer(vc类){
超级(vc);
}
@凌驾
公共列表反序列化(JsonParser p,DeserializationContext ctxt)抛出IOException,JsonProcessingException{
字符串值=p.getText();
if(StringUtils.isBlank(值)){
返回null;
}
返回数组.stream(value.split(分隔符))
.peek(v->v=v.trim())
.collect(Collectors.toList());
}
@凌驾
公共JsonDeserializer CreateContextent(反序列化上下文ctxt,BeanProperty属性)引发JsonMappingException{
Params parameters=property.getMember().getAllAnnotations().get(Params.class);
if(参数!=null){
delimiter=参数。delimiter();
}
返回新的StringListDeserializer();
}
@保留(RetentionPolicy.RUNTIME)
@目标(ElementType.FIELD)
public@interface参数{
字符串分隔符()默认值StringListDeserializer.delimiter\u默认值;
}
}
公共类MyRequest实现可序列化{
@JsonDeserialize(使用=StringListDeserializer.class)
@StringListDeserializer.Params(分隔符=“;”)
私有列表myValue;
}
我不想为了一个目的操纵两个注释,所以我这样做了,但它不起作用:

公共类StringListDeserializer扩展StdDeserializer实现ContextualDeserializer{
//除了下面的@interface之外,其他内容与之前相同
@保留(RetentionPolicy.RUNTIME)
@目标(ElementType.FIELD)
@JsonDeserialize(使用=StringListDeserializer.class)
public@interface JSONDESTRINGLIST{
字符串分隔符()默认值StringListDeserializer.delimiter\u默认值;
}
}
公共类MyRequest实现可序列化{
@JsonDeserializeStringList(分隔符=“;”)
私有列表myValue;
}
当反序列化发生时,Jackson不使用我的自定义反序列化程序,就好像它不知道我的自定义注释一样。相反,它只是使用他自己的反序列化程序,所以显然它失败了

那么,是否有一个Jackson配置可以执行,比如扫描注释包?因为如果Jackson不是问题所在,则应根据以下回答进行处理:

另外,@JsonDeserialize目标类型中有一个明确的是“ANNOTATION_type”,所以我真的认为我试图实现的是Jackson的意图