我看到以下关于如何动态创建Java Bean的示例代码。我无法弄清楚的是我如何在创建后更新实例的状态。 因此,在下面的示例中,如何将foo的值设置为“footest”,例如bean?
BeanGenerator bg = new BeanGenerator();
bg.addProperty(“foo”,Double.TYPE);
bg.addProperty(“bar”,String.class);
Object bean = bg.create();
由于 库马尔
答案 0 :(得分:2)
有几种想法:
1 /使用反射在“bean”上调用“setFoo()”。不漂亮。
2 /使用帮助程序库执行相同的操作 - 例如Commons-Beanutils o.a.c.BeanUtils.PropertyUtils.setProperty(bean,“foo”,“footest”)。
这种方式很适合我。如果您已经使用Spring,则可以使用Spring等效项。
3 /在你的新bean上使用CGLIB的BeanMap。 e.g。
Map beanMap = BeanMap.create(bean); beanMap.put(“foo”,“footest”);