在用多線程的時候,裏面要用到Spring注入服務層,或者是邏輯層的時候,一般是注入不進去的。具體原因應該是線程啓動時沒有用到Spring實例不池。所以注入的變量值都爲null。
如果在run方法裏面加載application.xml,來取得bean時,由於重複加載,一般情況下會耗盡內存,拋出內存溢出錯誤。所以這的確是一個很頭痛的問題。
有一個方法可以解決注不進去的問題。就是在聲明變量的時候,前面加static。這樣在初始化的時候它就會加載application.xml,得到bean。
關於這個問題的根本機制沒有作深入的研究,好在問題解決了。
從這個例子體會到林信良說過的,沒有一個技術是完美的,不要爲了Spring而Spring。不要爲了注入而注入。