浏览 672 次
|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2007-12-21
由于不使用xml进行配置 完全通过@Autowired
现在的情况是 很多个Controller需要共用一个List 所以将这个List定义在了xml中 类似 <util:list id="haha" list-class="java.util.ArrayList"> <value>s</value> <value>w</value> <value>c</value> <value>p</value> <value>f</value> <value>h</value> </util:list> 但是启动的时候抛出异常 Autowiring of fields failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private java.util.List xx.xx.Controller.haha 将代码中的 private List<String> haha; 修改成 private ArrayList<String> haha; 并且配置方式改为 <bean id="haha" class="java.util.ArrayList">
<constructor-arg>
<list>
<value>s</value>
<value>w</value>
<value>c</value>
<value>p</value>
<value>f</value>
<value>h</value>
</list>
</constructor-arg>
</bean>
结果成功了 why? 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2008-01-08
autowired只能自动装配bean,<util:list>配置并不会在spring context中产生一个新的List bean。
后面的用bean的方式是对的,原因就在于你显示声明了一个ArrayList的bean。 而且你在代码中也不必使用ArrayList,直接使用List,然后使用@Qualifier("haha")来使用按bean的名称装配 |
|
| 返回顶楼 | |




