您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Spring原型原型中的bean

Spring原型原型中的bean

从Spring 文档中:

你不需要将<aop:scoped-proxy/>结合用于范围为单例或原型的bean。如果尝试为单例bean创建作用域代理,则会引发BeanCreationException。

对于3.2版文档,文档似乎有所更改,你可以在其中找到以下句子:

你不需要将<aop:scoped-proxy/>结合用于范围为单例或原型的bean。

似乎不希望你使用代理原型Bean,因为每次请求beanfactory它都会创建一个新实例。

为了为原型bean提供一种工厂,可以使用ObjectFactory以下方法

@Component
public 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 {
    // ...
}
Java 2022/1/1 18:24:02 有430人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶