春天范围="原型"的目的是什么?

atm*_*ish 3 java spring

根据我的理解,如果为bean提供scope ="prototype",则会在每个请求上创建该类的新实例.那么为什么有人会使用spring创建一个新对象而不是简单地写

ClassName newBean = new ClassName();
Run Code Online (Sandbox Code Playgroud)

我只用春天来创造单身人士.

JB *_*zet 5

因为您可能希望在原型中注入其他bean.或者您可能希望将AOP方面应用于此bean的方法.或者你可能想让它成为事务性的.或者安全.

如果你只是调用类的构造函数,它就不再是Spring管理的bean了,而Spring对bean做的所有事情都不是手动构造的对象.