簡體   English   中英

我可以在不同的地方還是在一個地方使用春豆

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

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