public static <T> T copyProperties(Object source, Class<T> tClass, String... ignoreProperties) {
		if (null == source) {
			return null;
		}
		T target = ReflectUtil.newInstanceIfPossible(tClass);
		copyProperties(source, target, CopyOptions.create().setIgnoreProperties(ignoreProperties));
		return target;
	}
@Test
	public void copyBeanPropertiesFunctionFilterTest() {
		//https://gitee.com/dromara/hutool/pulls/590
		final Person o = new Person();
		o.setName("asd");
		o.setAge(123);
		o.setOpenid("asd");

		@SuppressWarnings("unchecked") final CopyOptions copyOptions = CopyOptions.create().setIgnoreProperties(Person::getAge, Person::getOpenid);
		final Person n = new Person();
		BeanUtil.copyProperties(o, n, copyOptions);

		// 是否忽略拷贝属性
		assertNotEquals(o.getAge(), n.getAge());
		assertNotEquals(o.getOpenid(), n.getOpenid());
	}