📜  Jackson注释-@JacksonInject(1)

📅  最后修改于: 2023-12-03 15:01:27.760000             🧑  作者: Mango

Jackson注释-@JacksonInject

在使用Java中的Jackson库进行序列化和反序列化时,@JacksonInject注释可用于标记要注入到被反序列化的对象中的属性。

用法

在需要注入属性的类上使用该注释,如下所示:

public class MyClass {

    @JacksonInject
    private MyService myService;
    
    // ...
}

使用@JsonInject注释的属性必须是类中的域(字段)。

要注入的值是作为参数传递给ObjectMapper的injectableValues方法。以下是示例:

MyService myService = new MyService();

ObjectMapper mapper = new ObjectMapper();
mapper.setInjectableValues(new InjectableValues.Std().addValue(MyService.class, myService));

String json = "{\"name\":\"Bob\"}";

MyClass myObject = mapper.readValue(json, MyClass.class);
注意事项

使用@JacksonInject注释时,请确保在反序列化过程中注入的属性不是必需的。如果属性是必需的,则反序列化将失败。