Mirror DSL
Mirror DSL 是一个用来简化 Java 的反射编程的类库,类似于 BeanUtils 。
如果直接使用 Java 的反射(Reflection) API,那么代码可能很长,如下:
Field toSet = null;
for (Field f : target.getClass().getDeclaredFields()) {
//Get all fields DECLARED inside the target object class
if (f.getName().equals("field")) {
toSet = f;
}
}
if (toSet != null && ((toSet.getModifiers() & Modifier.STATIC) == 0)
&& ((toSet.getModifiers() & Modifier.FINAL) == 0)) {
toSet.setAccessible(true);
toSet.set(target, value);
}
而使用 Mirror DSL 只要短短的一行代码:
ReflectionUtil.setField(target, fielName, value);
评论