【发布时间】:2014-04-12 19:11:07
【问题描述】:
所以我们正在开发经典的多层应用程序,我们经常需要做的一件事情是在域实体、DTO、来自不同层的其他 DTO 等之间进行映射。
现在,我们正在手动执行此操作,实际上我对此非常满意。一些同事对此感到困扰,并希望有一些更自动的对象映射方式——比如 Dozer、Apache BeanUtils 等。我不喜欢的是使用这种方法意味着失去静态检查和重构——如果你在您的域实体,应用程序将被破坏,但编译器不会警告您 - 您将在运行时严重崩溃。同事们争辩说,一旦单元测试涵盖了所有内容,这些错误就会被捕获。我不太确定这种情况是否会一直如此。
但是,我想找到两全其美的解决方案 - 手动方法的安全性和半自动映射的简单性和简洁性。
我想在应用程序启动期间会检查安全性 - 此检查代码将找到所有具有定义映射的实体,并检查所有映射的属性是否在另一个类中具有相应的属性。
是否有任何映射库可以做到这一点?我找不到这方面的任何信息。我知道这可能很容易实现,但是标准的现有解决方案将是使用它的更好的论据。谢谢!
【问题讨论】: