Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring MVC不能自动连线采集吗?_Java_Spring - Fatal编程技术网

Java Spring MVC不能自动连线采集吗?

Java Spring MVC不能自动连线采集吗?,java,spring,Java,Spring,我的xml如下所示: <bean name="subscriberStore" class="java.util.HashSet" scope="singleton"/> 我有以下代码: @Value("#{subscriberStore}") private static HashSet<Subscriber> subscriberStore; 然而,在上面的类的后面,当我调用subscriberStore上的方法时,我得到一个空指针异常。我试着用@Autowir

我的xml如下所示:

<bean name="subscriberStore" class="java.util.HashSet" scope="singleton"/> 
我有以下代码:

@Value("#{subscriberStore}")
private static HashSet<Subscriber> subscriberStore;
然而,在上面的类的后面,当我调用subscriberStore上的方法时,我得到一个空指针异常。我试着用@Autowired和@Resource代替@Value。。但这没什么区别

有人知道为什么订户存储没有初始化吗


谢谢

不能@Autowire静态字段。如果可能的话,考虑删除静态修饰符。

不能@ Autowire静态字段。如果可能的话,考虑删除静态修饰符。

是使用Spring加载的@ AutoWordEng注等的类,还是由您加载的?如果它不是由Spring加载的,那么在fwir中就不会发生依赖注入。许多重复项,尤其是@skaffman,我的问题不是关于自动连接静态,而是关于自动连接一个集合,它恰好是静态的。在本例中,我认为问题在于它是一个集合,而不是一个静态集合,正如我的问题标题所述。@Rory:它不起作用的原因是因为它是静态的,而不是因为它是一个集合。autowire集合在异常中重设大小失败,而autowire静态失败将导致空值。您也可以尝试以下技巧:您正在使用@Autowired注释等的类是由Spring加载的,还是由您加载的?如果它不是由Spring加载的,那么在fwir中就不会发生依赖注入。许多重复项,尤其是@skaffman,我的问题不是关于自动连接静态,而是关于自动连接一个集合,它恰好是静态的。在本例中,我认为问题在于它是一个集合,而不是一个静态集合,正如我的问题标题所述。@Rory:它不起作用的原因是因为它是静态的,而不是因为它是一个集合。autowire collections的失败会导致异常,而autowire statics的失败会导致null。您也可以尝试以下技巧:感谢这一点有效-我想静态修饰符并不是严格需要的,因为subscriberStore是一个Spring singleton,对吗?当然……但仅仅因为它是一个Spring singleton,这并不意味着你不能使用new操作符创建一个实例…多亏了这一点,我想静态修饰符并不是严格需要的,因为subscriberStore是一个Spring单例,对吗?当然…但仅仅因为它是一个Spring单例,并不意味着你不能使用new操作符创建一个实例。。。