我正在使用一些現有的代碼,它正在做我以前沒見過的事情。我已經使用方法注入將原型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