場(chǎng)景如下:bean都由spring管理,在某個(gè)業(yè)務(wù)里需要啟動(dòng)新的線程去完成通訊的工作,在線程中根據(jù)通訊返回的狀態(tài)作更改,這時(shí)需要在線程中用到某個(gè)業(yè)務(wù)bean,但是使用常規(guī)的@Resource無法注入。。。(查了查說是spring因?yàn)榭紤]到線程安全問題,不支持注入)1.目前我通過在業(yè)務(wù)bean中啟動(dòng)線程的時(shí)候,通過構(gòu)造函數(shù)或者方法形參(傳參方式)將業(yè)務(wù)bean實(shí)例傳到線程中使用的。2.不能在線程中手動(dòng)拿bean,每次初始化spring容器,受不了(容器、DB。。。),剛開始這樣做就把db搞掛了3.單獨(dú)維護(hù)數(shù)據(jù)源?然后通過此源拿bean?試過,可行,但感覺開銷太大不知道有什么優(yōu)良的解決方案沒,或者說如何避免形成此景?
線程中無法使用spring注入的問題
瀟瀟雨雨
2019-04-19 16:11:06