今天碰到一個(gè)頭疼的事情,一不小心導(dǎo)致出現(xiàn)了一個(gè)錯(cuò)誤,耽誤了很長(zhǎng)時(shí)間來(lái)排查。
報(bào)錯(cuò)信息如下:
There is no getter for property named '' in 'class java.lang.String'
這種錯(cuò)誤相信沒(méi)多少人碰到過(guò)吧,大部分這樣的錯(cuò)誤應(yīng)該都是下面這種
There is no getter for property named '' xxx 'class java.lang.String'
這種錯(cuò)誤大家應(yīng)該都知道了,解決方式有很多,檢查是否有g(shù)et方法、是否有@Param注解以及可以使用“_parameter ”來(lái)替換掉參數(shù)名等等。
那今天的主角:
There is no getter for property named '' in 'class java.lang.String'
這種錯(cuò)誤又是怎么出現(xiàn)的呢?
這是不小心造成的錯(cuò)誤,就是在mybatis的xml文件中使用表達(dá)式獲取參數(shù)值的時(shí)候不小心多打了一個(gè)“.”
正常的
state = #{a.state}
異常的
state = #{a.state.}
不仔細(xì)看還真看不出來(lái)多了一個(gè)“.”,就這么一個(gè)小問(wèn)題,耽誤了一個(gè)多小時(shí),簡(jiǎn)直慘絕人寰。
在此記錄一下以示警告,寫代碼千萬(wàn)不能粗心大意啊。