2010-09-30 66 views
1

我看到下面的示例代码来说明如何动态创建Java Bean。我无法弄清楚的是,我可以如何更新一旦创建实例的状态。 那么在下面的例子中,我如何将foo的值设置为实例bean的“footest”?将状态添加到通过CGLIB的BeanGenerator生成的bean

BeanGenerator bg = new BeanGenerator();

bg.addProperty(“foo”,Double.TYPE);

bg.addProperty(“bar”,String.class);

Object bean = bg.create();

感谢 库马尔

回答

2

一些方法来记:

1 /呼叫 “setFoo()” 中的 “豆” 使用反射。不漂亮。

2 /使用助手库做同样的事情 - 例如, Commons-Beanutils o.a.c.BeanUtils.PropertyUtils.setProperty(bean,“foo”,“footest”)。

这种方式很适合我。如果你已经使用Spring,你可以使用Spring的等价物。

3在你的新bean上使用CGLIB的BeanMap。例如

Map beanMap = BeanMap.create(bean); beanMap.put(“foo”,“footest”);