[英]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.