【问题标题】:How to get new bean per request in spring [duplicate]如何在春季根据请求获取新bean [重复]
【发布时间】:2016-06-04 13:05:51
【问题描述】:

在下面的示例中,我希望 person1person2 是不同的实例。我如何做到这一点?

public class Test {

    @Autowired
    private Person person;

    public void myMethod() {
        Person person1 = person; // new Person();
        Person person2 = person; // new Person();
    }  
}

【问题讨论】:

    标签: java spring-4


    【解决方案1】:

    使用 xml 将 Person bean 的范围设置为“原型”:

    <bean class="package.Person" scope="prototype"></bean>
    

    或注释:

    @Scope("prototype")
    Person
    

    【讨论】:

    • person 不是每个新的Test 对象只注入一次吗?两个原型范围的Person 成员会给你两个不同的Person 对象,但是不会两次使用同一个对象仍然只给你一个吗?如果您使用getBean 或使用工厂成员,那么您将达到预期的效果。
    猜你喜欢
    • 2011-01-25
    • 2019-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多