2013-08-22 146 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

相关问题