2010-09-30 52 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」);

相關問題