1. 程式人生 > >使用反射機制呼叫service層方法Autowired標籤自動注入失敗

使用反射機制呼叫service層方法Autowired標籤自動注入失敗

問題出現的背景:在做一個反射呼叫的時候,進入了Controller層呼叫service的方法,卻發現原先用Autowired標籤自動注入的service全部都為null,隨後就喜聞樂見地出現了空指標異常。

解決辦法:

為了不影響原來程式碼的使用,加了一個判斷 if(service == null) service =(XXXService) ContextLoader.getCurrentWebApplicationContext().getBean("XXXServiceImpl");

預設情況下,Spring將元件的class的第一個字母變成小寫,來作為自動掃描元件的名稱,比如將BaseService變成baseService,所以你可以直接用這個更名字呼叫元件。