2013-08-22 144 views
2

我已經實現了一個連接到庫存web服務的Java EE頁面。我已經實現了庫存控制,如下圖所示:警告:使用了字段,但從未分配非「空」值

public class InventoryController { 
    @Autowired 
    private WebServiceTemplate inventoryWsTemplate; 

... 

} 

inventoryWsTemplate被聲明爲在網絡servlet.xml中的Bean。

程序工作,但我發現,上面寫着警告:

領域使用,但從未指定一個非「空」值

我應該怎麼辦?

回答

3

只需添加一個SuppressWarnings註釋:

@Autowired 
@SuppressWarnings("null") 
private WebServiceTemplate inventoryWsTemplate; 

通常我想添加評論的理由註釋(如// Used by guice),但在這種情況下,熱即將來臨的Autowired註釋,我不要的高跟鞋認爲這是必要的。

編輯:我不能在Eclipse上重現問題開始,所以我不知道哪個註釋值是必需的。您應該檢查編譯器支持的註釋值列表。

+0

什麼時候用什麼? (哪個更好?取決於什麼?)'//'或'@ SuppressWarnings'? – Maroun

+0

@MarounMaroun當你得到這個警告,並且你不想刪除聲明:)。 –

+0

@MarounMaroun:我會澄清我的答案 - 我的意思是我會添加註釋*與註釋*。 –

1

如果您不喜歡禁止警告,則可以將private更改爲任何其他訪問修飾符。包私有可能是最好的選擇(除了私人)。

+0

hmm,改變一個實例變量的可見性只是爲了不再有警告,這不是一個好主意。你的對象的狀態可以被整個包所訪問。 – Matthias

相關問題