[英]Can i use spring bean at different places or at one place
假設我在控制器中有這個
@Resource(name="registrationService")
private RegistrationService registrationService;
這工作正常,我可以在服務類中使用方法。
現在假設我有不同的java類,並且我想在registrationService類中使用方法。 所以我可以在那里使用相同的東西嗎
@Resource(name="registrationService")
private RegistrationService registrationService;
和訪問方法,否則我必須在春季用不同的名稱聲明不同的bean
這是Service類中的函數
public String test(){ return "testing"; }
現在,如果我在控制器中調用它,則可以正常工作。
但是我有一個稱為UserDAO的單獨類來獲取用戶。 如果我這樣做
私有列表internalDatabase(){
List<Registration> users = new ArrayList<Registration>();
Registration user = null;
logger.debug("Before");
logger.debug(registrationService.test());
logger.debug("After");
users.add(user);
return users;
}
之后的一切
logger.debug(registrationService.test());
不執行。 如果我刪除那條線,一切正常。 我不知道出什么問題了
是的,您可以使用Spring將相同的bean注入兩個不同的類中。
我最好的猜測是在發生了NullPointerException
logger.debug(registrationService.test());
這就是為什么后續行未執行的原因。 registrationService,我認為該容器未正確注入。 確保在applicationContext.xml上正確定義了服務類,或者在組件掃描中包括了軟件包。
還請確保UserDAO由Spring管理,或有一種方法(如果沒有)訪問Spring管理的服務類。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.