有人可以解释一下Spring bean中的范围,我总是只使用'原型',但是我可以用其他参数代替吗?
我正在谈论的例子
<bean id="customerInfoController" class="com.action.Controller" scope="prototype">
<property name="accountDao" ref="accountDao"/>
<property name="utilityDao" ref="utilityDao"/>
<property name="account_usageDao" ref="account_usageDao"/>
</bean>
Run Code Online (Sandbox Code Playgroud) 我是春天的新手,我目前正在我的一个项目中使用它.我了解到spring容器包含所有bean,默认情况下所有bean的范围都是singleton.我可以在application-context.xml中或使用annptation @scope更改范围.
现在我的问题是,如果将类的范围作为"原型",则弹簧容器将在每次需要时实例化一个新对象...对吗?现在,如何处理垃圾收集.如果对象不再使用,或者它仍然悬挂在容器中,它们是否会被垃圾收集.因为我不希望每次需要创建很多对象并加载内存.
有人帮我理解这个.谢谢.
当我使用spring框架编写业务代码时,我总是使用单例作用域并避免使用原型作用域。我认为原型和单例之间存在性能差异。由于原型范围的原因,spring 每次调用都会创建一个新实例。我认为它比使用单例作用域慢。我对吗?我是否对性能考虑太多?