我对 Spring 还很陌生,我正在尝试将我们的旧代码移至 spring。我正在尝试使用 @Autowired 自动注入所有依赖项。
我的 Bean 有一个工厂方法如下:
public static Service getInstance(Registration registration) throws Exception {
Service service = null;
switch(registration.getType()) {
case XServer :
service = new XServer(); break;
case YServer :
service = new YServer(); break;
default :
service = new XServer(); break;
}
service.setRegistration(registration);
return service;
}
但是当我在工厂方法中使用new时,新类中的所有依赖项都未初始化。此外,如果我使用appContext.getBean('beanname')它会引发以下异常:
请求的 bean 当前正在创建中:是否存在无法解析的循环引用?
有人可以帮助我理解如何正确地做到这一点。