各种DTO类最好有 无参数的构造方法

Posted Deolin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了各种DTO类最好有 无参数的构造方法相关的知识,希望对你有一定的参考价值。

 

以一下这个类为例

@Getter
@Setter
@ToString
class Person {

    private String s;

    public Person(String s) { this.s = s;}

}

 

这个Person类,是无法通过 new Person();和Person.class.newInstance();实例化的。

在一部分反序列化工具类中,这个类作为泛型的时候会报错,如下所示

 

这里会出现java.lang.NoSuchMethodException

给Person类追加一个无参数构造方法,就不会报错了

@Getter
@Setter
@ToString
class Person {

    private String s;

    public Person() {}

    public Person(String s) { this.s = s;}

}

 

以上是关于各种DTO类最好有 无参数的构造方法的主要内容,如果未能解决你的问题,请参考以下文章

JavaBean,POJO,VO,DTO的区别和联系

复用类

为啥使用set注入,一定要给类提供一个无参的构造函数,否则Spring不能实例化类的.

java构造方法和方法的区别

为什么构造器私有之后不能创建对象了?

如何将 Grails 域类映射到 DTO?