我正在使用一些现有的代码,它正在做我以前没见过的事情。我已经使用方法注入将原型bean自动装入单例,或者使用getBean()从上下文获取bean。我在这段代码中看到的是一个bean,它是一个原型并使用getBean()进行检索,并且它具有自动装配的依赖关系。其中大部分是单身豆,这是有道理的。但是有另一个原型bean的自动装载,从我看来,它看起来好像正在获得一个新的bean。我的问题是,当你将原型自动装入原型时,是否会给你一个新的实例?由于autowire请求不是在启动时创建的,而是在创建这个bean的时候,它是否会创建一个新的实例?这违背了我对autowire和prototype beans的看法,我想听到外面的答案。感谢您的任何见解。我试图尽量减少对代码的重构,因为它有点意大利面条。将原型bean的Autowire插入原型bean中?
例如:
@Scope("prototype")
public class MyPrototypeClass {
@Autowired
private ReallyGoodSingletonService svc;
@Autowired
private APrototypeBean bean;
public void doSomething() {
bean.doAThing();
}
}
@Scope("prototype)
public class APrototypeBean {
private int stuffgoeshere;
public void doAThing() {
}
}
所以当DoSomething的()在MyPrototypeClass叫,是“豆”一个单身或MyPrototypeClass的每个实例一个新的?
好的解释@马克拉伦 – 2016-06-30 15:05:22