簡體   English   中英

如何在自動連線的JdbcTemplate上修復NullPointerException

[英]How to fix NullPointerException on Autowired JdbcTemplate

我正在重新編寫我的問題,希望有更多的道理並獲得幫助。

我有一個Controller ,2 ClassRepository和2 Service類(其中一個未使用@Service進行注釋,因為在注釋時會出現錯誤,因此我只是將其用作類)

沒有用@Service注釋的類,我只是將rateRepository對象從帶注釋的服務傳遞給了無注釋的服務。

如果我在帶注釋的服務中執行以下代碼

String zone = rateRepository.getPurolatorZone(request.getShipToZip().substring(0,3));

它很棒。

但是在我未注釋的課程中,我實例化了該課程

InternationalRateService internationalRateService = new InternationalRateService(this.rateRepository);

更新:我用@Service注釋了InternationalRateService類,並決定自動連接存儲庫本身,並且在getPurolatorZone方法上仍然收到空指針異常。.我不明白為什么在設置一個服務時它不能在另一個服務中工作相同。

第二次更新:事實證明,我是個白痴,因為我什至沒有想到要檢查傳遞給存儲庫的字符串是否確實是引發錯誤的原因。 原來我從來沒有設置本地shiptozip變量。 是的是個白痴。

Spring將僅在Spring托管bean中注入依賴項。 如果使用new創建對象,那么它不是spring托管的bean。

在您的情況下,不像由new操作員創建的那樣管理InternationalRateService對象。

因此,在您的控制器中注入InternationalRateService ,以便注入所有依賴項

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM