1
我想注入一些數據到靜態類字段,這是從大量的XML文件生成的。用於自定義類初始化的輕量級類加載器?
class Foo {
...
static MetaData xxx;
static MetaData yyy;
}
注射是非常簡單的,它發現Foo.properties並解析XXX,YYY屬性,然後構造所述元數據的實例。
我不確定IoC容器是否可以幫助完成這項任務,但似乎沒有。
因爲Foo可能被未被IoC容器加載的類使用。
我的想法是,修改上下文類加載器以添加一些基於反射的特定類初始化代碼。
有什麼想法?
編輯有很多IoC容器,我想其中有些可能支持初始化擴展。
`因爲Foo可能被未被IoC容器加載的類使用。這可能沒有問題,但IoC通常需要一些配置/註釋,這可能是。你不能不修改ClassLoader,只需要找到所有的類或屬性文件,調用Class.forName並做一些反射?實際上,如果可能的話,我寧願通過創建一個Map>來避免它。 –
maaartinus
2011-01-21 04:29:32
不,擺脫Class.forName()是設計目的。不會有地圖,解析/構建過程非常快,MetaData是一個內部的弱引用來減少內存佔用量。 –
2011-01-21 04:36:51