spring課程學習——第3課
阿新 • • 發佈:2018-12-11
實現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