使用Setter方法填充大量参数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Setter方法填充大量参数相关的知识,希望对你有一定的参考价值。
我正在使用POJO创建和获取数据。这些POJO代表我们的API,我们使用它们通过REST保证进行测试。
我有一个带有30个变量的RequestDTO
类。由于这是DTO,因此我在课堂上使用30个setter方法来更新其中的值。
我通过方法链接将这些设置方法称为如下。我正在使用varList
变量从csv读取数据并提供给此DTO。
然而,这看起来笨拙,可读性较差且不正确。我想知道什么是好的方法/设计模式。因为我对最佳做法和设计模式的了解还很少。
示例代码:
public static void setRequestDTO(List<Object> varList) {
MyRequestDTO myrequest = new MyRequestDTO()
.setkey1(varList.get(0).toString())
.setkey2(varList.get(1).toString())
// ........
.setkey30(varList.get(30).toString());
}
答案
首先,我相信您的DTO太肿-难道没有[[真正您可以将其分解为较小的类吗?
第二,您使用的是List<Object>
,但所有示例均显示您使用的是String值-您有可能可以更改列表的类型参数,从而消除对所有[C0 ]电话? 第三,您在很大程度上取决于.toString
,其中包含您要在DTO上设置的所有必要元素
和,它们都是正确的顺序。如果元素太少,这将导致引发异常。
最后,虽然我会考虑重构它,但我会给您一个可以继续进行的想法。如果确定要保留当前的DTO结构,请考虑将List
放入List<Object>
的构造函数中,然后在其中执行所有设置程序。这样,每当实例化此DTO的新实例时,您就没有30行设置程序,而仅在实例化时设置这些值。以上是关于使用Setter方法填充大量参数的主要内容,如果未能解决你的问题,请参考以下文章