从Spring 文档中:
你不需要将
<aop:scoped-proxy/>结合用于范围为单例或原型的bean。如果尝试为单例bean创建作用域代理,则会引发BeanCreationException。
对于3.2版文档,文档似乎有所更改,你可以在其中找到以下句子:
你不需要将
<aop:scoped-proxy/>结合用于范围为单例或原型的bean。
似乎不希望你使用代理原型Bean,因为每次请求
BeanFactory它都会创建一个新实例。
为了为原型bean提供一种工厂,可以使用
ObjectFactory以下方法:
@Componentpublic class SingletonBean { @Autowired private ObjectFactory<PrototypeBean> prototypeFactory; public void doSomething() { PrototypeBean prototypeBean = prototypeFactory.getObject(); prototypeBean.setX(1); prototypeBean.display(); }}并且原型bean将声明如下:
@Component @Scope(value="prototype")public class PrototypeBean { // ...}


