当我尝试使用applicationContext.getBean()将构造函数参数传递给某个原型类时,我收到以下错误消息,即使我已将该类定义为原型。我试图在每次调用单例范围的类中的某个方法时创建该类的新实例。
org.springframework.beans.factory.BeanDefinitionStoreException:可以 仅在引用a时指定getBean方法的参数 原型bean定义
这是我在尝试调用createObject()方法时遇到错误的类。
@Component
public class someFactory {
@Autowired private ApplicationContext appContext;
public Foo createObject(String param) {
return (Foo) appContext.getBean("foo", param);
}
}
这是示例Foo类:
@Component("foo")
@Scope(value = "prototype", proxyMode = ScopedProxyMode.TARGET_CLASS)
public class Foo {
public Foo(String param) {
//some code
}
}
对此有任何帮助表示赞赏。