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) 个答案