实现setter注入
思考问题:在XML中配置的property该如何表达?搞清楚它们的表达方式才可以把它们读取出来

1.给BeanDefinition 添加一个获取propertyValues的方法,而PropertyValue中的getConvertedValue()是指获得一个真正的对应的property对象实例

2.property暂且分为两种,一种是引用类型的,为RuntimeBeanReference,一种是TypedStringValue

整体的类图架构如下

3.使用BeanResolver来resolve出一个bean
4.使用TypeConverter实现类型转换
下图左部分为需要实现的类型转换器,右部分是JDK中提供的类型转换类。左边实际为右边的封装和调用,只需要实现一个convertIfNecessary()方法即可,不用区分底层是数字转字符还是字符转boolean。且右边的ProertyEditorSupport可见,Spring中的命名规范可能参考了JDK中的类命名。
先完成右边的构建再完成左边的构建。

5.类型转换的捷径——CommonBeanUtils

本文探讨了在Spring框架中如何实现setter注入,包括在XML中配置property的表达方式,BeanDefinition中propertyValues的获取方法,以及RuntimeBeanReference和TypedStringValue的处理。进一步讨论了使用BeanResolver解析bean和TypeConverter进行类型转换的过程。

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



