从Spring 文档中:
您不需要将
<aop:scoped-proxy/>结合用于范围为单例或原型的bean。如果尝试为单例bean创建作用域代理,则会引发BeanCreationException。
对于3.2版文档,文档似乎有所更改,您可以在此处找到以下句子:
您不需要将
<aop:scoped-proxy/>结合用于范围为单例或原型的bean。
似乎不希望您使用代理原型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 { // ...}


