以下常规初始化之间有什么区别:
def valuesMap = [:]
// method 1
def myBeanInstance1 = new MyBean()
myBeanInstance1.properties = valuesMap
// method 2
def myBeanInstance2 = new MyBean(valuesMap)
我观察到这两种表现非常不同
答案 0 :(得分:0)
myBeanInstance1.properties = valuesMap是非法的,因为属性是只读的。
方法2基本上调用了一个构造函数Groovy inject,它通过反射匹配带有属性名称的map键来设置属性。