由Spring引出的一些瞎想(2)

之前利用List<List>進行創建實例,主要存在的問題是要求各個類的屬性的個數必須一致。


爲了能夠可以不受這個限制,考慮用Map來存放XML中的配置信息




因爲要創建XML中配置的所有的對象,所以還是用List來儲存,不同的的是List<Map>,用map來儲存創建實例所需要的全部信息。每個map除了需要有創建實例所需要的屬性以外,還要有該類的全類名。這個全類名也從XML中獲取。





同樣,在各個類中也需要重新創建構造方法,接收一個Map<String,String>來創建實例對象。




有了這個構造方法後,BeanFactory類就可以接收一個Map<String,String>來創建Bean。



然後就可以得到在XML文件中所創建的所有對象的實例




梳理一下整個過程:

1.DocumentParse類,負責解析XML文件,得到一個List<Map>,Map<String,String>儲存要創建的對象的全類名,和屬性的賦值。

2.BeanFactory類,負責接收一個Map<String,String>,根據得到的內容創建Object



 存在的問題:

雖然可以根據具體的類創建對象,但是依然要求每個類提供構造方法。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章