1

我看到以下有关如何动态创建 Java Bean 的示例代码。我无法弄清楚的是如何在创建后更新实例的状态。那么在下面的示例中,如何将 foo 的值设置为“footest”,例如 bean?

BeanGenerator bg = new BeanGenerator();

bg.addProperty("foo", Double.TYPE);

bg.addProperty("bar", String.class);

对象 bean = bg.create();

谢谢库马尔

4

1 回答 1

2

想到几个方法:

1/ 使用反射在“bean”上调用“setFoo()”。不漂亮。

2/ 使用辅助库来做同样的事情 - 例如 Commons-Beanutils oacBeanUtils.PropertyUtils.setProperty(bean, "foo", "footest")。

这种方式对我很有效。如果您已经在使用 Spring,则可以使用 Spring 等效项。

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

映射 beanMap = BeanMap.create(bean); beanMap.put("foo", "footest");

于 2011-06-25T11:17:27.620 回答