gpt4 book ai didi

java - 默认情况下,Jackson 反序列化器是如何工作的

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:43:20 25 4
gpt4 key购买 nike

我正在使用 Spring-boot 2.1.6 并且我有 DTO:

@AllArgsConstructor
@Builder
@Data // setters, getters, others
@NoArgsConstructor
public class ExampleDto {
private String fieldOne;
private String fieldsTwo;

}

我真的需要那么多 Lombok 注释吗?通过 HTTP 连接(微服务)反序列化时,Jackson 默认使用哪个?我想只有 NoArgsConstructor + setters 可以吗?或者它是否使用 反射 并且只提供 no-arg-constructor 就可以了?

是否可以选择将 Jackson 的行为更改为仅使用 AllArgsConstructorbuilder?我在日志中看到我的应用程序使用 Jackson 来反序列化内容。

<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.8.8</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jdk8</artifactId>
</dependency>

<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
</dependency>

编辑:

我的问题不同于Can't make Jackson and Lombok work together因为它有效。

最佳答案

Jackson 使用默认(无参数)构造函数创建对象,然后使用 setter 设置值。所以你只需要@NoArgsConstructor 和@Setter。

关于java - 默认情况下,Jackson 反序列化器是如何工作的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58556027/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com