1. 背景
使用@Reference註解實現消費者調用服務端代碼,調用報錯NullPointerException,如圖:
注意:如果你的服務端沒有註冊到dubbo,客戶端在調用時也會出現NullPointerException報錯,所以可以先到dubbo-admin去看下服務端是否已經正常註冊。
dubo-admin安裝方式可參照:
https://blog.csdn.net/u011294519/article/details/81712601
2. 服務端代碼
因爲只是寫一個小demo,代碼邏輯十分簡單
2.1. 服務端接口
2.2. 服務端接口實現類
注意:這裏的@Service註解需要使用com.alibaba.dubbo.config.annotation.Service。
2.3. 服務端dubbo配置文件
3. 客戶端代碼
3.1.接口
3.2. 測試接口
3.3. 配置文件
4. Dubbo-admin結果
到這裏爲止看上去都很正常,但是隻要客戶端調用服務端方法就報NullPointerException。
5. 解決方法
網上找了很多方法,但是都不能解決問題,後來想到有沒有可能是SpringMVC的包掃描影響了dubbo的註解掃描,然後嘗試着將dubbo的包掃描配置單獨抽出來,放在SpringMVC配置的最上面,果然問題解決。如圖:
然後把dubbo配置中的這個去掉,問題解決。