实现构造器注入
1.在BeanDefinition中添加一个getConstructorArgument()方法,ConstructorArgument中存放着List<ValueHolder>,ValueHolder即为存放的properties的值。

2.ValueHolder的意义
在Spring中,constructor-arg是具有type和name等属性的,故需要一个ValueHolder容器来装载这些属性,而不是直接把value存入List中,但我们实现的时候为了简化,只保留了value这一项。

3.选择合适的构造函数
引入ConstructorResolver

本文介绍如何在Spring中通过BeanDefinition实现构造器注入。主要步骤包括:利用getConstructorArgument()方法添加ValueHolder容器来存放properties值;解析ValueHolder的含义及其实现原理;选择合适的构造函数并引入ConstructorResolver。


被折叠的 条评论
为什么被折叠?



