【发布时间】:2010-12-28 15:58:32
【问题描述】:
我想使用特定的 java bean 从外部列表创建测试用例。 我正在尝试找到一个 java 工具(spring 框架?或类似的工具)来实例化这个 bean 并用来自外部列表的值填充它(我将执行循环)。 (某种豆类注射剂) 你知道这项工作的任何工具吗?
谢谢, 何塞·克鲁兹
【问题讨论】:
标签: java spring javabeans code-injection
我想使用特定的 java bean 从外部列表创建测试用例。 我正在尝试找到一个 java 工具(spring 框架?或类似的工具)来实例化这个 bean 并用来自外部列表的值填充它(我将执行循环)。 (某种豆类注射剂) 你知道这项工作的任何工具吗?
谢谢, 何塞·克鲁兹
【问题讨论】:
标签: java spring javabeans code-injection
我是 Spring 的忠实粉丝,但我认为 Spring 在这种情况下不会对你有多大好处。在设置您的测试并完成它时,我会在循环中创建该测试 bean 列表。
【讨论】:
我不是 Spring 的粉丝。使用 Guice 或 Weld 进行依赖注入。
在您的情况下,听起来使用 Commons BeanUtils 会容易得多。 他们有一个带有以下签名的 populate 方法,它使用 Map 而不是 List。
public static void populate(Object bean,
Map properties)
throws IllegalAccessException,
InvocationTargetException
【讨论】:
基本上,所有这些框架在内部使用的是BeanInfo / Introspector 机制。所以如果你不想自己做当然可以自己使用这个机制。
请参阅我以前的答案以获得类似的解决方案:
How to set the fields of an object given a map of key/values?
当然,对于 Spring,这种事情要舒服得多,尤其是如果您使用 the BeanWrapper technology(当然,它在内部以更奇特、更可扩展的方式做几乎相同的事情)。
【讨论】: