gpt4 book ai didi

java - 初始化 java 类中所有对象的简单方法

转载 作者:行者123 更新时间:2023-12-01 14:09:20 25 4
gpt4 key购买 nike

我正在尝试为现有服务生成文档。它是一堆休息服务。我想做的只是在 xdoclet 中创建一个新标签,该新标签将有一个参数。类似的东西

@JSONInputMessage("com.foo.bar.input")
@JSONOutputMessage("com.foo.bar.output")

然后,xdoclet 将转到该类,对其进行初始化,将其转储到 Jackson 中以将其转换为 json,然后将生成的 json 复制到 javadoc 中。

所有这一切都很简单。我的问题是我需要一种方法来接收一个对象,然后一路向下遍历字段,初始化对象,以便它们实际上显示在 json 转储中。有没有人有一种简单的方法来反射(reflect)对象并初始化所有对象?

最佳答案

Podam使用随机数据初始化 java 对象树,但您可以定义策略或使用属性来决定设置的值。

简单的例子:

PodamFactory factory = new PodamFactoryImpl(); //This will use the default Random Data Provider Strategy
Pojo myPojo = factory.manufacturePojo(Pojo.class);

或者使用策略:

DataProviderStrategy strategy = new MyDataProviderStrategy();
PodamFactory factory = new PodamFactoryImpl(strategy);

Pojo myPojo = factory.manufacturePojo(Pojo.class);

或者使用属性:

@PodamStrategyValue(PostCodeStrategy.class)
private String postCode;

然后为该单个属性定义策略类:

public class PostCodeStrategy implements AttributeStrategy<String> {
public String getValue() throws PodamMockeryException {
...
}
}

这对你有用吗?

关于java - 初始化 java 类中所有对象的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18660367/

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