有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java AutowireCapableBeanFactory。autowireBean()不工作

在我的春天。xml我有一些想法:

<bean id="WorkerA" class="..."></bean>
<bean id="WorkerB" class="..."></bean>

<bean id="ServiceA" class="..."></bean>
<bean id="ServiceB" class="..."></bean>

这些类都扩展了abstract class Worker

public abstract class Worker {
    abstract void doSomething ();
}

并包括不同的@Autowired服务,如:

public class WorkerA extends Worker {
    @Autowired ServiceA serviceA;

    public void doSomething () {
        serviceA.foo();
    }
}

我试图使用AutowireCapableBeanFactory.autowireBean()实例化这些bean,如图所示:

Worker worker = workerFactory.create(); // creates a WorkerA
beanFactory.autowireBean(worker);
worker.doSomething();

然而,我在调用serviceA.foo()的线路上收到了NullPointerException,因此显然ServiceA没有自动连接。这是因为Spring试图自动连接一个没有bean定义的Worker类,而不是相应的WorkerX?我是不是误解了什么


共 (0) 个答案