Mic*_*ael 3 java spring dto lombok spring-boot
我对 DTO 类使用数据注释感到困惑。这是我的示例课程。
@Data
public class MyClass {
private Long id;
private String name;
}
Run Code Online (Sandbox Code Playgroud)
我在网上读到,专门在 DTO 类上使用数据注释将允许通过使用生成的设置器来更改字段的值。
我应该删除 lombok 数据注释吗?并手动实现 getter 和 setter。
谢谢 :)
我会避免将 @Data 用于 DTO,因为它有太多陷阱。首先,正如您提到的,它是可变的,对于 DTO 来说您并不真正需要这一点。尽管它是可变的,但它实现了 equals() 和 hashCode() ,这只是自找麻烦。
您可以将 @Value 用于不可变的 DTO。对于传入的 DTO,您可能需要添加lombok.anyConstructor.addConstructorProperties到 lombok.config,这将允许像 jackson 这样的库在没有默认构造函数的情况下反序列化到您的 POJO。
| 归档时间: |
|
| 查看次数: |
22341 次 |
| 最近记录: |