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 copyPropertiesTest() {
		final SubPerson person = new SubPerson();
		person.setAge(14);
		person.setOpenid("11213232");
		person.setName("测试A11");
		person.setSubName("sub名字");

		final SubPerson person1 = BeanUtil.copyProperties(person, SubPerson.class);
		assertEquals(14, person1.getAge());
		assertEquals("11213232", person1.getOpenid());
		assertEquals("测试A11", person1.getName());
		assertEquals("sub名字", person1.getSubName());
	}