Groovy构造函数和bean初始化性能

时间:2013-08-21 17:32:39

标签: groovy

以下常规初始化之间有什么区别:

def valuesMap = [:]

// method 1
def myBeanInstance1 = new MyBean()
myBeanInstance1.properties = valuesMap 

// method 2
def myBeanInstance2 = new MyBean(valuesMap)

我观察到这两种表现非常不同

1 个答案:

答案 0 :(得分:0)

myBeanInstance1.properties = valuesMap是非法的,因为属性是只读的。

方法2基本上调用了一个构造函数Groovy inject,它通过反射匹配带有属性名称的map键来设置属性。