我看到以下有关如何动态创建 Java Bean 的示例代码。我无法弄清楚的是如何在创建后更新实例的状态。那么在下面的示例中,如何将 foo 的值设置为“footest”,例如 bean?
BeanGenerator bg = new BeanGenerator();
bg.addProperty("foo", Double.TYPE);
bg.addProperty("bar", String.class);
对象 bean = bg.create();
谢谢库马尔
我看到以下有关如何动态创建 Java Bean 的示例代码。我无法弄清楚的是如何在创建后更新实例的状态。那么在下面的示例中,如何将 foo 的值设置为“footest”,例如 bean?
BeanGenerator bg = new BeanGenerator();
bg.addProperty("foo", Double.TYPE);
bg.addProperty("bar", String.class);
对象 bean = bg.create();
谢谢库马尔
想到几个方法:
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");