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

SpringBoot3整合MyBatis出現(xiàn)異常:Property?'sqlSessionFactory'or?'sqlSessionTemplate'?are?required

 更新時間:2022年11月24日 10:27:34   作者:十三  
這篇文章主要介紹了SpringBoot3整合MyBatis報錯:Property?‘sqlSessionFactory‘?or?‘sqlSessionTemplate‘?are?required,其實不是個大問題,只是自己編碼時遇到了,然后總結(jié)總結(jié)分享一下,如果有遇到類似問題的,可以參考一下

SpringBoot3整合MyBatis報錯:Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are required

遇到了一個 Spring Boot 3 整合 MyBatis 的問題,然后解決了。當然,這其實不是個大問題,只是自己編碼時遇到了,然后總結(jié)總結(jié)分享一下。如果有遇到類似問題的,可以參考一下。

交代一下背景

最近在熟悉 Spring Boot 3 版本的代碼,開發(fā)過程中遇到了一些小坑,不過很快都解決了。然后就用 Spring Boot 3 版本寫了幾個小 demo,比如 Web 開發(fā)、連接數(shù)據(jù)庫、使用 JdbcTemplate 操作數(shù)據(jù)庫,編碼和測試都非常順利,雖然是從 Spring Boot 2.x 版本升級到 Spring Boot 3,但是沒有感覺到太多差別。

不過,在使用 Spring Boot 3 整合 MyBatis 時出現(xiàn)了一些問題,花了不少時間處理。

使用的版本如下所示。

Spring Boot 版本配置

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>3.0.0-SNAPSHOT</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

MyBatis 版本配置

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.2.2</version>
</dependency>

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.2.2</version>
</dependency>

問題出現(xiàn)

啟動時直接報錯,內(nèi)容如下圖所示。

當然,異常信息挺多,比如無法創(chuàng)建 Bean 的異常等等,不過上面的幾個異常并不是問題主因。這里我直接定位到最后的異常上,異常信息是:

Caused by: java.lang.IllegalArgumentException: Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required

跟入發(fā)生異常的地方,代碼截圖如下:

問題原因也很明顯,sqlSessionTemplate 對象是空的。

問題排查

當然,由于把 Spring Boot 版本升級到 3 了,所以會覺得有很大的可能是版本升級導(dǎo)致了問題。

不過還是想自己查查問題,就依次檢查了代碼、數(shù)據(jù)庫配置、MyBatis 配置,都沒有發(fā)現(xiàn)哪里寫錯了,接著就沒頭緒了。之后又看了一下 MyBatis 自動配置的源碼,通過 debug 模式看了下是不是有什么問題,在查看源碼的過程中看到一個有意思的事情,SqlSessionFactoryBean 這個類直接報紅了,如下圖所示。

為什么說有意思呢?

正常情況下這個類肯定不會報錯的。再去查詢問題,發(fā)現(xiàn) NestedIOException 這個類在 Spring 6 版本中直接刪除了。對的,直接刪除了。而 MyBatis 還沒有同步更新,所以直接就報紅了。

如果真的是版本升級導(dǎo)致的,還真就暫時沒法改,只能等 MyBatis 那邊也發(fā)布新版本才行。除了 MyBatis 之外,如果使用 Spring Boot 3 直接整合 MyBatis-Plus 這種框架,那肯定也會報錯的。

另外,不止是 MyBatis 框架會出問題。像 Spring 6 這種直接嘎掉一些類的情況,如果其它框架里用到了一些 Spring 框架中的類,恰好也被嘎了。那么,升級到 Spring6 或者 Spring Boot 3 時,都得注意一下。

解決問題:需要升級版本

好的,排查自己的代碼沒發(fā)現(xiàn)問題。只有去古狗上看看有沒有解決方案,搜了一圈,在 MyBatis 的開源倉庫里看到了一個類似問題,解決方案也有,如下圖所示。

對的,使用 Spring Boot 3 版本整合 MyBatis 時,需要把 mybatis-spring-boot-starter 也升級。mybatis-spring-boot-starter 2.x 版本暫時還不適配 Spring Boot 3 版本,沒轍。另外,由于還沒正式發(fā)版,所以需要配置一個遠程倉庫。

<dependencies>
    <!-- 引入 3.0.0-SNAPSHOT 版本的 mybatis-spring-boot-starter(未正式發(fā)版) -->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>3.0.0-SNAPSHOT</version>
    </dependency>
</dependencies>
<repositories>
    <!-- 由于未正式發(fā)版,所以在Maven倉庫里還搜不到,需要額外配置一個遠程倉庫 -->
    <repository>
        <id>ossrh</id>
        <name>OSS Snapshot repository</name>
        <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
        <releases>
            <enabled>false</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>

總結(jié)

事情不大,本來不想單獨寫篇文章的,但是我有個預(yù)感,在項目中升級 Spring Boot 3 時還會有其它問題。不知道 Spring6 這次更新了多少東西,連 TM 的MyBatis、MyBatis-Plus 這種常用的框架都中招了。這些就慢慢整理吧,畢竟是大版本升級,難免會出現(xiàn)不兼容、等依賴更新的情況。確實沒轍,等更新唄。

如果這篇文章浪費了你的時間,先說聲抱歉,你直接關(guān)掉網(wǎng)頁就好。

因為維護了幾個 Spring Boot 的開源項目,Spring Boot 3 正式發(fā)版了,我也會及時更新版本、升級這幾個 Spring Boot 實戰(zhàn)項目。如果碰到了什么問題,也會及時分享出來。

項目名稱描述GitHub倉庫地址Gitee倉庫地址
newbee-mallSpring Boot 開源電商實戰(zhàn)項目(含商城端和后臺管理系統(tǒng))https://github.com/newbee-ltd/newbee-mallhttps://gitee.com/newbee-ltd/newbee-mall

項目名稱描述GitHub倉庫地址Gitee倉庫地址
My-BlogSpring Boot 開源博客實戰(zhàn)項目https://github.com/ZHENFENG13/My-Bloghttps://gitee.com/ZHENFENG13/My-Blog

到此這篇關(guān)于SpringBoot3整合MyBatis報錯:Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are required的文章就介紹到這了,更多相關(guān)SpringBoot3整合MyBatis報錯內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • springboot tomcat最大線程數(shù)與最大連接數(shù)解析

    springboot tomcat最大線程數(shù)與最大連接數(shù)解析

    這篇文章主要介紹了springboot tomcat最大線程數(shù)與最大連接數(shù)解析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • JAVA多線程和并發(fā)基礎(chǔ)面試問答(翻譯)

    JAVA多線程和并發(fā)基礎(chǔ)面試問答(翻譯)

    多線程和并發(fā)問題是Java技術(shù)面試中面試官比較喜歡問的問題之一。在這里,從面試的角度列出了大部分重要的問題,但是你仍然應(yīng)該牢固的掌握Java多線程基礎(chǔ)知識來對應(yīng)日后碰到的問題
    2014-09-09
  • Java 中IO流字符流詳解及實例

    Java 中IO流字符流詳解及實例

    這篇文章主要介紹了Java 中IO流字符流詳解及實例的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • java jackson 將對象轉(zhuǎn)json時,忽略子對象的某個屬性操作

    java jackson 將對象轉(zhuǎn)json時,忽略子對象的某個屬性操作

    這篇文章主要介紹了java jackson 將對象轉(zhuǎn)json時,忽略子對象的某個屬性操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • java JSON解析庫Alibaba Fastjson用法詳解

    java JSON解析庫Alibaba Fastjson用法詳解

    這篇文章主要介紹了java JSON解析庫Alibaba Fastjson用法,結(jié)合實例形式詳細分析了java JSON解析庫Alibaba Fastjson的基本功能、原理、用法及操作注意事項,需要的朋友可以參考下
    2020-04-04
  • Java面試必考之如何在項目中優(yōu)雅的拋出異常

    Java面試必考之如何在項目中優(yōu)雅的拋出異常

    這篇文章主要為大家詳細介紹了Java中的幾種異常關(guān)鍵字和異常類相關(guān)知識,本文比較適合剛?cè)肟覬ava的小白以及準備秋招的大佬閱讀,需要的可以收藏一下
    2023-06-06
  • Mac上配置JDK?1.8的超詳細流程

    Mac上配置JDK?1.8的超詳細流程

    相信每個拿到MAC的小伙伴都是很欣喜的,但是由于MAC系統(tǒng)與WIN系統(tǒng)有著極大的不同,所以使用起來會有一些小困擾,這篇文章主要給大家介紹了關(guān)于Mac上配置JDK?1.8的超詳細流程,需要的朋友可以參考下
    2023-11-11
  • SpringBoot整合RestTemplate用法的實現(xiàn)

    SpringBoot整合RestTemplate用法的實現(xiàn)

    本篇主要介紹了RestTemplate中的GET,POST,PUT,DELETE、文件上傳和文件下載6大常用的功能,具有一定的參考價值,感興趣的可以了解一下
    2023-08-08
  • Java使用ffmpeg和mencoder實現(xiàn)視頻轉(zhuǎn)碼

    Java使用ffmpeg和mencoder實現(xiàn)視頻轉(zhuǎn)碼

    這篇文章主要為大家詳細介紹了Java使用ffmpeg和mencoder實現(xiàn)視頻轉(zhuǎn)碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • JavaWeb入門教程之分頁查詢功能的簡單實現(xiàn)

    JavaWeb入門教程之分頁查詢功能的簡單實現(xiàn)

    這篇文章主要介紹了JavaWeb入門教程之分頁查詢功能的簡單實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11

最新評論

新和县| 东山县| 南昌县| 皋兰县| 曲松县| 延吉市| 黄大仙区| 桃江县| 玉溪市| 固安县| 南城县| 永登县| 海口市| 会东县| 固原市| 青龙| 青冈县| 日照市| 广丰县| 朔州市| 高碑店市| 通城县| 永兴县| 昌图县| 德州市| 枣强县| 资中县| 内江市| 东港市| 岐山县| 广州市| 无为县| 唐海县| 灵武市| 垫江县| 陆川县| 峡江县| 额尔古纳市| 高唐县| 庆城县| 宁远县|