前言
最近小咸儿在开发项目的时候,写有关插入的一条线时,需要插入到三张表中,所以传过来的是一个组合型的model实体,这个时候就需要很多的set/get的代码,但是经过大牛的指点,发现原来还有BeanUtils.copyProperties这个神器。十分感谢。
简介
BeanUtils.copyProperties提供对Java反射和自省API的包装。其主要目的是利用反射机制对JavaBean的属性进行处理。我们知道,一个JavaBean通常包含了大量的属性,很多情况下,对JavaBean的处理导致大量get/set代码堆积,增加了代码长度和阅读代码的难度。
过程
封装的代码
首先看一下小咸儿项目中封装的代码,这里用到的是重载,根据你传的参数去匹配使用哪个方法,具体的就不多做解释了,因为小咸儿也不是很懂……
// 方法一
public static void copyProperties(Object source, Object target, String... ignoreProperties) throws BeansException {
copyProperties(source, target, null, ignoreProperties);
}
// 方法二
private static void copyProperties(Object source, Object target, @Nullable Class<?> editable,
@Nullable String...