### Question:
ReflectionUtils extends org.springframework.util.ReflectionUtils { public static void setFieldValue(final Object obj, final String fieldName, final Object value) { if (obj == null) { throw new IllegalArgumentException("[" + obj + "]"); } int index = fieldName.indexOf("."); if (index < 0) { Field field = getAccessibleField(obj, fieldName); if (field == null) { throw new IllegalArgumentException("Could not find field [" + fieldName + "] on target [" + obj + "]"); } try { field.set(obj, value); } catch (IllegalAccessException e) { log.error("不可能抛出的异常:{}", e); } } else { setFieldValue(getFieldValue(obj, fieldName.substring(0, index)), fieldName.substring(index + 1), value); } }  static Object invokeGetterMethod(Object obj, String propertyName); static void invokeSetterMethod(Object obj, String propertyName, Object value); static void invokeSetterMethod(Object obj, String propertyName, Object value, Class<?> propertyType); static Object getFieldValue(final Object obj, final String fieldName); static void setFieldValue(final Object obj, final String fieldName, final Object value); static Field getAccessibleField(final Object obj, final String fieldName); static Object invokeMethod(final Object obj, final String methodName, final Class<?>[] parameterTypes, final Object[] args); static Method getAccessibleMethod(final Object obj, final String methodName, final Class<?>... parameterTypes); @SuppressWarnings("unchecked") static Class<T> getSuperClassGenricType(final Class<?> clazz); static Class<?> getSuperClassGenricType(final Class<?> clazz, final int index); static List<?> convertElementPropertyToList(final Collection<?> collection, final String propertyName); static String convertElementPropertyToString(final Collection<?> collection, final String propertyName, final String separator); static RuntimeException convertReflectionExceptionToUnchecked(Exception e);  }### Answer:
@Test public void testSetFieldValue() { String name = "testUser.testUser.name!"; String property = "testUser.testUser.name"; TTestUser testUser = new TTestUser(); TTestUser testUser1 = new TTestUser(testUser); testUser = new TTestUser(testUser1); ReflectionUtils.setFieldValue(testUser, property, name); Object obj = ReflectionUtils.getFieldValue(testUser, property); Assert.isTrue(name.equals(obj), "设置" + property + "属性失败！"); }