今天專案中出現了空指標錯誤,其實一看這個錯誤我就知道是**錯了。而且以前也總是說,沒有真正的改過啊。今天把改進方法和大家共享。現在我們的專案中,大多數我們的管理方式都是交由spring去管理,至於好處我也不多於的贅述了,用的人都知道,spring也把他的管理發揮到了極致,真的是到了極致啊。以至於交給spring管理的如果例項化其物件就會報錯,錯誤報的是空指標錯誤,原因估計是因為沒有注入進來,我們例項化物件的時候破壞的spring的管理。
上面說了一堆的廢話,下面說說解決方案,遇到這樣的事以後呢,我們不用著急,既然我們建立不了它的物件了,我們可以選擇另一種方式。就是通過讀取spring的配置檔案,獲取其中的bean這樣來獲取此物件,即可以解決。
例如:
ac.getbean("beanid");
還需要注意的是他讀取的這個配置檔案是從系統檔案根路徑開始找。如果想用虛擬路徑classpath需要寫成如下模式:
ac.getbean("beanid");
同樣還可以用:
此類模式去讀取配置檔案。
換湯不換藥,思想就是我們不能直接例項化他的物件,但是我們可以從配置中把他們讀出來。
還可以用另外乙個模式就是:
此方法可以把所有交給spring管理的都給獲取出來,只需要ac1.getbean("");""中的名字與配置檔案中的id相同即可。
暫時我只用到這兩種方法
spring管理的類如何呼叫非spring管理的類
spring管理的類如何呼叫非spring管理的類.就是使用乙個spring提供的感知概念,在容器啟動的時候,注入上下文即可.下面是乙個工具類.1 import org.springframework.beans.bean ception 2import 3import 4import org.sp...
非spring管理的類獲取spring配置引數
您好,專案時當初遇到了乙個問題,就是用mybaties 獲取所有日誌的sql並記錄進入日誌系統時,需要讀取spring的yml配置引數。發現網上教的大部分方法都無效 value等 究其原因,發現,大部分方法都是基於spring管理的類獲取配置引數,其方法可行,而此處的mybaties 無法交給spr...
Spring如何實現管理Bean的。
主要實現步驟 1 載入xml配置檔案,讀取裡面的id和對應的class屬性值.一般有多個存到list當中 2 從list當中讀取對應id和class,通過反射例項化的bean,存放到map當中.3 最後從map中根據id獲取對應的bean物件 ctx.getclass id,class 1 讀取xm...