Class cls = Class.forName("bean.User");
Method mtd = cls.getMethod("setName",new Class []{String.class});
Object obj = (Object) cls.newInstance();
mtd.invoke(obj,new Object []{"JHF"});
return obj;
上述代码动态加载了User类,并通过Reflection调用了User.setName()方法设置name属性。
Spring 的BeanWrapper基于同样的原理
Object obj = Class.forName("bean.User").newInstance();
BeanWrapper bw = new BeanWrapperImple(obj);
bw.setPropertyValue("name","JHF");
...
bw.getPropertyValue("name");