1. 程式人生 > >spring整合mybatis時報空指標異常:service注入得不到Mapper介面的例項化物件(已解決)

spring整合mybatis時報空指標異常:service注入得不到Mapper介面的例項化物件(已解決)

解決方法在下邊↓↓

問題一    mabite中Mapper介面的例項化物件找不到,顯示為NULL

這是我的配置,還有執行時報的錯



這幾個檔案都是使用反向工程生成的,應該沒有錯。

執行結果顯示tUserMapper為null

問題二:

還有,使用ssm框架寫web工程的時候還出過這麼一個錯:

org.apache.ibatis.binding.BindingException

        Invalid bound statement (not found): com.dao.TUserMapper.selectByPrimaryKey

配置跟上邊的一樣,這次是找到mapper了,但是方法又出問題了....求解

到底是腫麼回事啊,大神求教,大腿求抱啊......

=================== 睡了一覺  ==================================

果然,有什麼問題解決不了的,發那別管,關上電腦睡一覺,第二天你會發現,,,,,,,問題還在,hhhhh

好在功夫不負有心人,我給解決了

解決:

問題一:


我一直是以為Mapper的注入出了問題,,結果恰恰不是,問題出在了service ,因為在service裡面是通過注入的方式獲得Mapper的例項化物件的,所以service物件的獲得也應該採用注入的方式(前後一致),這樣才能得到這個類掃面後建立的Mapper的例項化物件(可參考原始碼)。如果是new 出來的service物件的話,它的

中的@Autowired註解是不起作用的,因為自己new出來的物件不是spring容器中的,無法使用注入,因此tUserMapper物件當然為NULL啦。

還有最讓人頭疼的就是,開發工具昨天抽筋了,明明之前已經寫對了,但是編譯不及時,依然報錯.......重啟之後再開啟,莫名的又編譯成功了,,所以,睡一覺還是有這麼點好處的(玩笑話),clean之後再執行編譯,其實也是可以的。

問題二:

第二個問題錯的就有點尷尬了


如圖,sqlMapConfig裡面忘了配置這個東西,導致Mapper物件找不到這個方法(這麼理解不知道對不對,反正加著這個之後,一下子就可以了)。

讓我發愁了一天的兩個問題,今天早上起來竟然用了一個小時不到的時間就解決了,果然,電腦鬧起小脾氣來,啥事也幹不好啊...

附上自己寫的一個mybatis的例項,大致標了一下執行的流程,有不妥的地方還希望路過的大神多多指點啊:


java就像一盒巧克力,你永遠不知道,ta還會爆出什麼bug....

以上內容均為個人所述,如有不妥,歡迎指正,謝謝

相關推薦

spring整合mybatis時報指標異常service注入Mapper介面例項化物(解決

解決方法在下邊↓↓問題一:    mabite中Mapper介面的例項化物件找不到,顯示為NULL這是我的配置,還有執行時報的錯這幾個檔案都是使用反向工程生成的,應該沒有錯。執行結果顯示tUserMapper為null問題二:還有,使用ssm框架寫web工程的時候還出過這麼一

Spring錯誤筆記系列】自己new出來的bean中被@Autowired註解修飾的屬性報指標異常java.lang.NullPointException

自己new出來的bean中被@Autowired註解修飾的屬性報空指標異常 異常描述 原本我再測試RabbitMQ的傳送程式,裡面用到了一個AmqpTemplate介面,用了@Autowired註解。但是當我使用AmqpTemplate的conver

java指標異常java.lang.NullPointException

一.什麼是java空指標異常     我們都知道java是沒有指標的,這裡說的"java指標"指的就是java的引用,我們不在這裡討論叫指標究竟合不合適,而只是針對這個異常本身進行分析。空指標就是空引用,java空指標異常就是引用本身為空,卻呼叫了方法,這個時候就會出現空指標異

Spring整合MyBatis 的簡單xml配置

<!--spring框架整合mybatis 1.宣告資料來源(datasource) 2.宣告SqlSessionFactoryBean --> <!--宣告資料來源--> <bean id="dataSou

Spring自動裝配報指標異常

這幾天在學Spring的自動裝配,自己動手做一個小專案,但是被一個空指標異常卡住了。 啟動的時候彈出index.jsp,這是一個登陸頁面: <%@ page language="java" contentType="text/html; charset

eclipse 中Spring 使用@Autowired 報指標異常

最近在學生Spring框架,這算是一個很低階的錯誤,寫出來希望不要有人犯和我一樣的錯誤,執行下面的例子時,使用了@autowired註釋,但是報出了空指標異常,例子程式如下: TextEditor SpellChecker MainApp: 執行後報了一個空指

關於執行緒呼叫Spring註解物件報指標異常

本人剛接觸執行緒方面,今天在寫一個埠監控的時候遇到一個問題,就是線上程中,呼叫spring注入的物件時,報空指標異常. 而且只在這個類中報這個問題. 在controller類中,能正常執行,所以應該能排除注入失敗或者配置錯誤的因素. 百思不得其解,暫時先記下問題,以

呼叫String物件的toString()方法時報指標異常

為什麼有時候用String物件,去呼叫的toString()方法時報空指標異常(java.lang.NullPointerException),其原因是我們的建立的String類物件為null;這樣就不能再去呼叫toString方法啦。 報錯:

關於spring整合hibernate使用update無異常但沒有效果(輸出sql語句

單獨使用hibernate時 openSession() 在沒有使用spring控制事務時,使用的是sessionFactory.openSession()。這樣每個方法都會新建一個session,必須在方法中控制和關閉session。 於是一開始我直接在

mybatisspring整合是對映器介面無法例項化,指標異常

問題:   DeBug執行 mabite中Mapper介面的例項化物件找不到,顯示為NULL解決:問題一:我一直是以為Mapper的注入出了問題,,結果恰恰不是,問題出在了service ,因為在service裡面是通過注入的方式獲得Mapper的例項化物件的,所以servi

mybatis sqlSession一直出現指標異常

這個錯誤困擾了幾個小時。然後斷點除錯的時候發現sqlSession=SqlSessionFactoryUtils.openSqlSession();這裡出了問題。 然後一直丟擲空指標異常。 網上有各種的方案,但是都沒適合我這個問題。這個問題是建立在pojo.xml語句對的情況下的 我的問題

spring-boot整合mybatis使用druid資料來源時Failed to bind properties under'spring.datasource' to javax.sql.Data

其實,只是缺少了報錯內容中的Value值中的mavenrepository資料 在pom.xml中引入stat ,wall,log4j就解決了。 我的只需要引入log4j就能正常執行專案了,( 因為Reason的原因有寫,就是:org.apache.log4j.Logger 

踩坑fileSystem.copyToLocalFile兩個引數 指標異常

踩坑:fileSystem.copyToLocalFile(Path src, Path dst) 空指標異常 標籤(空格分隔): 踩坑 在網上一搜,直接改成fileSystem.copyToLocalFile(false,xx,xx,true)即可。

Spring注入static靜態成員變數會導致指標異常問題及解決方案

首先,,按照常規的注入,,我們會直接在需要注入的物件上加註解@Autowired,,,執行服務的的時候,,,就會出現呢空指標異常java.lang.NullPointerException,,異常的原因是 靜態變數/類變數不是物件的屬性,而是一個類的屬性,spring則是基於

Spring整合mybatisCaused by: java.lang.IllegalArgumentException錯誤

java.lang.IllegalArgumentException     at org.springframework.asm.ClassReader.<init>(Unknown Source)     at org.springframew

Spring注入SessionFactory的指標異常

自己的錯誤在於,new的Dao例項,進行呼叫,以至於出現Dao中注入的Sessionfactory空指標。 在hibernate+spring配置過程中,應注意幾點: 1、不能直接new一個DAO的例項,而應該通過spring的配置檔案自動初始化session be

Mybatis獲取SqlSession時報指標錯誤解決

今天開始接觸Mybatis,在學習第一步時就遇到了一個空指標的錯誤,所以記錄一下,免得以後再犯: 具體錯誤如下 Exception in thread "main" org.apache.ibatis.exceptions.Persistence

關於spring整合mybatis報錯Type handler was null on parameter mapping for property 'department'.

這個錯誤的原因就是,你要傳遞的引數已經在mybatis檔案中配置過了,而傳遞引數時又用的這個名字所以解析時出錯。 例如我的resultMap中已經配置了userId,這是一個物件 <resultMap id="userDynamicMap" type="UserDynamicTO">     &

spring依賴注入,執行報指標異常

java.lang.reflect.InvocationTargetException     sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     sun.reflect.NativeMethod

spring整合mybatis,批量掃描mapper接口出現異常

org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: file [D:\Java\eclipse-workspace2\spring_my