背景在现在流行的系统设计中,一般会将对象模型划分为多个层次,例如VO、DTO、PO、BO等等。这同时也产生了一个问题,经常需要进行不同层级的模型之间相互转换。针对这种问题,目前常会采用三种方案:调用每个字段的getter/setter进行赋值。这个过程,枯燥且乏味,容易出错的同时,极易容易造成代码行数迅速膨胀,可阅读性差。apache-commons、Spring等提供的BeanUtil工具类,这种工具类使用非常方便,一行代码即可实现映射。但其内部采用反射的方式来实现映射,性能低下,出现问题时,调试困难,当需要个性化转换时,配置麻烦,非常不建议使用,特别是对于性能要求比较高的程序中。mapst