在《阿里巴巴Java开发规范》手册最后一节的应用分层中推荐了应用系统的分层结构。我比较赞同这种分层结构,这种分层结构带来了诸多好处,但是有一个麻烦之处就是分层领域模型,也就是我们所说的各种O,比如DTO、POJO、DO、VO等等,这样就导致我们项目中存在各种属性相同的xxO,对于有些工作经验的小伙伴们来说知道使用BeanUtils来实现属性复制,但是对于工作经验不是很多的小伙伴可能就是各种set和get了。这是非常尴尬的一件事。Spring的BeanUtils虽然可以满足我们大部分的需要,但是只能赋值属性名相同且类型一致的两个属性,比如VO里面的beginTime是String类型的,而BO里