在我正在开展的一个项目中,我们有不同的系统。 由于这些系统应该独立发展,我们有许多CommunicationLib来处理这些系统之间的通信。 CommunicationLib对象不在任何系统内使用,而只在系统之间进行通信。 由于许多功能需要数据检索,因此我经常被迫创建与CommLib对象相同的“本地”系统对象。我使用Converter Utility类将这些对象转换为CommLib对象。
代码可能如下所示:
public static CommLibObjX objXToCommLib(objX p) {
CommLibObjX b = new CommLibObjX();
b.setAddressName(p.getAddressName());
b.setCityId(p.getCityId());
b.setCountryId(p.getCountryId());
b.setFieldx(p.getFieldx());
b.setFieldy(p.getFieldy());
[...]
return b;
}
有没有办法自动生成这样的代码?使用Eclipse或其他工具?某些字段可能有不同的名称,但我想生成一个Converter方法草稿并手动编辑它。
答案 0 :(得分:2)
尝试Apache commons-beanutils
BeanUtils.copyProperties(p, b);
对于属性名称相同的所有情况,它将属性值从原始bean复制到目标bean
答案 1 :(得分:1)
如果您觉得需要自动生成源代码,那么您可能做错了什么。我认为您需要重新检查两个“系统”之间的通信设计。这些“系统”如何沟通?