最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mybatis一直加載xml,找到錯誤的解決方案

 更新時間:2022年02月08日 11:25:01   作者:hwsdau  
這篇文章主要介紹了mybatis一直加載xml,找到錯誤的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

mybatis一直加載xml,找到錯誤

我們在寫springmvc+mybatis項目,啟動項目的時候,mapper配置文件一直刷,一直加載。。。。。

對于我們偉大的程序猿來說這并不可怕,可怕的是沒有錯誤打印出來。。。。。完全不知道如何下手啊,

今天終于找到了一種解決方法

找到org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory 類,在下面方法:

?? ?protected void autowireByType(
?? ??? ??? ?String beanName, AbstractBeanDefinition mbd, BeanWrapper bw, MutablePropertyValues pvs) {
?? ??? ??? ?catch (BeansException ex) {
?? ??? ??? ??? ?throw new UnsatisfiedDependencyException(mbd.getResourceDescription(), beanName, propertyName, ex);
?? ??? ??? ?}

在throw這一行斷點即可,這個地方是最早捕獲異常的地方,當(dāng)Mapper.xml文件出錯的時候,會有異常信息輸出。

還有一個問題,為什么出錯后只能看到無限輸出的一行日志,而看不到這里具體的異常信息呢?

通過追蹤代碼,發(fā)現(xiàn)在org.springframework.beans.factory.support.AbstractBeanFactory類中的方法:

protected Class<?> getTypeForFactoryBean(String beanName, RootBeanDefinition mbd) {
? ? if (!mbd.isSingleton()) {
? ? ? ? return null;
? ? }
? ? try {
? ? ? ? FactoryBean<?> factoryBean = doGetBean(FACTORY_BEAN_PREFIX + beanName, FactoryBean.class, null, true);
? ? ? ? return getTypeForFactoryBean(factoryBean);
? ? }
? ? catch (BeanCreationException ex) {
? ? ? ? // Can only happen when getting a FactoryBean.
? ? ? ? if (logger.isDebugEnabled()) {
? ? ? ? ? ? logger.debug("Ignoring bean creation exception on FactoryBean type check: " + ex);
? ? ? ? }
? ? ? ? onSuppressedException(ex);
? ? ? ? return null;
? ? }
}

這里捕獲異常后,直接 return null導(dǎo)致異常被吞。 

mybatis延遲加載(xml)

對于一對一和多對一(mybatis映射為一對一)。查詢的時候一起查詢即可。

但是對于一對多,和多對多。也許那個多對應(yīng)的數(shù)據(jù)很多,而我們不需要那個多。那么一起查詢會浪費性能資源。

所以,mybatis有懶加載。

mysql默認(rèn)是立即加載。

懶加載在Collection或者association屬性中有一個fetchType屬性,eager立即加載。lazy懶加載。

在mybatis的配置文件中

<settings>
? ? ? ? <!--延遲加載總開關(guān)-->
? ? ? ? <setting name="lazyLoadingEnabled" value="true"/>
? ? ? ? <!--侵入式延遲加載開關(guān)-->
? ? ? ? <!--3.4.1版本之前默認(rèn)是true,之后默認(rèn)是false-->
? ? ? ? <setting name="aggressiveLazyLoading" value="false"/>
?<!--如果不寫這個,可能有問題-->
? ? ? ? <setting name="lazyLoadTriggerMethods" value=""/>
? ? </settings>

即可。 

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。 

相關(guān)文章

  • RocketMQ實現(xiàn)隨緣分BUG小功能示例詳解

    RocketMQ實現(xiàn)隨緣分BUG小功能示例詳解

    這篇文章主要為大家介紹了RocketMQ實現(xiàn)隨緣分BUG小功能示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • 使用httpclient實現(xiàn)免費的google翻譯api

    使用httpclient實現(xiàn)免費的google翻譯api

    這篇文章主要介紹了使用httpclient實現(xiàn)免費的google翻譯api的方法,大家參考使用吧
    2014-01-01
  • java 串口通信詳細(xì)及簡單實例

    java 串口通信詳細(xì)及簡單實例

    這篇文章主要介紹了java 串口通信詳細(xì)及簡單實例的相關(guān)資料,在開發(fā)硬件與軟件結(jié)合的時候,就會用到串口,需要的朋友可以參考下
    2017-01-01
  • SpringBoot中開啟GZIP壓縮的方式

    SpringBoot中開啟GZIP壓縮的方式

    這篇文章主要介紹了SpringBoot中開啟GZIP壓縮的方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • SpringBoot 統(tǒng)一異常處理詳解

    SpringBoot 統(tǒng)一異常處理詳解

    這篇文章主要介紹了SpringBoot統(tǒng)一異常處理,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Java使用ReentrantLock進(jìn)行加解鎖的示例代碼

    Java使用ReentrantLock進(jìn)行加解鎖的示例代碼

    在多線程編程中,為了確保多個線程在訪問共享資源時不會發(fā)生沖突,我們通常需要使用 鎖 來同步對資源的訪問,本文將深入探討如何優(yōu)雅地使用 ReentrantLock,避免常見的坑點,并提升代碼的可維護(hù)性,需要的朋友可以參考下
    2025-04-04
  • 歸并排序的實現(xiàn)代碼與思路

    歸并排序的實現(xiàn)代碼與思路

    歸并排序是建立在歸并操作上的一種有效的排序算法。該算法是采用分治法(Divide and Conquer)的一個非常典型的應(yīng)用。
    2013-03-03
  • SpringBoot單元測試框架Mockito介紹及使用

    SpringBoot單元測試框架Mockito介紹及使用

    與集成測試將系統(tǒng)作為一個整體測試不同,單元測試更應(yīng)該專注于某個類。所以當(dāng)被測試類與外部類有依賴的時候,尤其是與數(shù)據(jù)庫相關(guān)的這種費時且有狀態(tài)的類,很難做單元測試。但好在可以通過“Mockito”這種仿真框架來模擬這些比較費時的類,從而專注于測試某個類內(nèi)部的邏輯
    2023-01-01
  • Spring Data中domain模塊的使用

    Spring Data中domain模塊的使用

    Spring Data是一個流行的數(shù)據(jù)訪問框架,本文主要介紹了Spring Data中domain模塊的使用,并展示如何使用它來優(yōu)化我們的數(shù)據(jù)訪問層,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • idea創(chuàng)建SpringBoot項目時Type選maven?project和maven?pom有何區(qū)別

    idea創(chuàng)建SpringBoot項目時Type選maven?project和maven?pom有何區(qū)別

    Maven是一個Java工程的管理工具,跟其相同功能的工具如Gradle,下面這篇文章主要給大家介紹了關(guān)于idea創(chuàng)建SpringBoot項目時Type選maven?project和maven?pom有何區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2023-02-02

最新評論

龙川县| 嘉禾县| 封开县| 湄潭县| 沈丘县| 中江县| 镇平县| 中山市| 吉木乃县| 烟台市| 潮安县| 桐庐县| 青海省| 丹凤县| 通山县| 凤翔县| 二手房| 闽侯县| 盐城市| 佛学| 英山县| 贡觉县| 垫江县| 凯里市| 大厂| 唐山市| 和田县| 南和县| 海安县| 安乡县| 焦作市| 铁岭市| 布尔津县| 扶风县| 密山市| 临海市| 密云县| 周宁县| 平南县| 陵川县| 台东县|