多例注入的两种方式问题
通过ObjectFactory注入的多例对象可以正常通过set方法赋值
通过scrope注入的多例对象通过调试发现是动态代理类, 无法通过set方法赋值
这两种方式的本质区别还不是特别明白,第二种如果想赋值成员变量有什么解决方案么
87
收起
正在回答
2回答
推测下原因:因为开启多例,又开启了CGLIb的代理模式,
那么就会出现这种问题:
由于开启了代理,所以每次访问this.test获取到的都是不同对象
this.test.set是对A实例赋值
而this.test.get 相当于获取了另外一个实例B的属性值
两个对象不一样。
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星