mybatis重複掃瞄package的問題

2021-07-11 07:20:58 字數 893 閱讀 6693



可問題是

1.為什麼會列印這麼多重複的日誌呢?

2.為什麼只有debug級別的日誌呢?

問題1:

通過對日誌 和原始碼的學習,終於把第一問題解答了。

1). dao類是需要注入乙個sqlsessionfactory的。mybatis與spring整合,對應的是sqlsessionfactorybean類。

3). 當載入失敗的時候,不會丟擲異常,只是列印了乙個debug級別的日誌。剛才提到的"ignoring bean creation exception..."資訊。

所以程式會繼續進行。

4). 然後,當每次需要注入「依賴 [此sqlsessionfactorybean類] 的dao類」的時候,就會列印一組 3)中的錯誤資訊。

so,當有很多類依賴這些dao的時候,就有了這504組錯誤資訊。。

問題2:

檢視了所有的日誌,發現只有這一行資訊能夠清楚的說明問題的原因。這一行資訊是由spring記錄的。( org.springframework.beans.factory.support.abstractbeanfactory#gettypefo***ctorybean )

估計他並不想直接吞掉這個異常,因為把這個exception放入了suppressedexceptions屬性裡,可能會在必要的時候統一丟擲。

可是,在這種情況下,他並沒有丟擲正確的異常。不知算不算mybatis-spring的bug。總之,這種程式設計問題,在測試環境下,就可以發現,不會影響生產環境,所以問題也不大。不過這種處理方式,錯資訊混雜在debug級別的資訊中,確實不太好定位問題。

附兩組日誌:

debug defaultlistablebeanfactory - creating shared instance of singleton

mybatis重複掃瞄package的問題

可問題是 1.為什麼會列印這麼多重複的日誌呢?2.為什麼只有debug級別的日誌呢?問題1 通過對日誌 和原始碼的學習,終於把第一問題解答了。1 dao類是需要注入乙個sqlsessionfactory的。mybatis與spring整合,對應的是sqlsessionfactorybean類。3 當...

android 藍芽重複掃瞄

我想在service內讓藍芽可以一直執行掃瞄,之前在activity內可以重複掃瞄,但移植到服務後就不能了請問要怎麼解決?public class search beacon extends service implements locationlistener override public vo...

mybatis自動掃瞄和自定義類註解方式

目錄 以往都是使用自定義註解實現dao層mapper.j a和mapper.xml檔案的裝載,今天在搭建mybatis的過程,使用了mybatis的自動掃瞄進行dao層mapper.j a和mapper.xml檔案的裝載過程中不斷報錯掃瞄不到,當時配置檔案如下 最後找出原因是因為開啟自動掃瞄的時候不...