我有一个非常简单的问题。但是我找不到我错了。我使用spring 2.0.2。
我想使用Autowire设置Map myTasks的属性,但是结果是myTasks = null。

我的代码:
在文件春天:

<bean id="Service" class="Service" autowire="byType"/>
<bean id="FirstTask" class="FirstTask"/>
<bean id="SecondTask" class="SecondTask"/>


其中FirstTask,SecondTask扩展了MyTask

服务类

class Service{
  private Map<String, MyTask> myTasks;
  public Map<String, MyTask> getMyTasks(){return myTasks;}
  public void MyTasks(Map<String, MyTask> myTasks){this.myTasks = myTasks;}}

最佳答案

据我了解,Spring 2.0.2不支持以这种方式自动装配bean的地图。您可以使用ApplicationContextAwaregetBeansOfType()代替:

public class Service implements ApplicationContextAware {
    public void setApplicationContext(ApplicationContext ctx) {
        myTasks = (Map<String, MyTask>) ctx.getBeansOfType(MyTask.class);
    }
    ...
}

关于java - 如何自动接线图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8488896/

10-10 01:07