如何用spring執行時做IoC?

sleepinglord發表於2015-12-10
現在的Spring做IoC,說是執行時做的,其實並不能在執行時做修改,除非顯式呼叫getBean方法。

比如我有一個介面IA。有兩個實現類CA1和CA2。現在我在某處需要注入IA x;spring的做法都需要靜態指定這個x會配到哪個實現類,是CA1還是CA2,這種指定可能是顯式的,可能是基於某種規則的,但都是靜態配置的。

如果我希望基於某個執行時的引數,比如每次前臺請求傳過來的一個引數p,動態決定是將CA1例項化注入x,還是將CA2例項化注入x,就得顯式地getBean。

出於潔癖,我覺得這麼做太不乾淨了……

有可能達成上述需求嗎?

相關文章