并发事务中的Spring依赖注入

时间:2017-10-08 18:58:35

标签: java spring spring-mvc spring-boot dependency-injection

我将使用Spring MVC构建大规模企业API。通常,API每秒同时达到最少50个请求。对于Spring的DI,我毫不怀疑。让50个用户同时访问特定对象,并使用DI构建对象。该对象是否会混淆另一个用户的数据?

1 个答案:

答案 0 :(得分:0)

在Spring中,默认情况下创建的对象是singleton。这意味着,Spring只创建了一个对象,并在需要时注入了相同的对象。因此,如果您的代码以非同步方式对该对象进行任何更改,那么它可能会破坏对象的状态。

因此,最好的办法是尽量消除对这种注入对象修改的需求。但是,让我们说这些对象可以单独用于每个请求,那么您也可以考虑将Spring bean配置为原型而不是单例。这将为所有DI实例创建一个新对象。但是,这种方法需要非常小心,因为它会在创建大量对象时溢出内存。

我希望这会有所帮助。