1. 如何控制简单对象创建次数?
singleton: 只会创建一次简单对象, 是默认值
prototype: 每一次都会创建新的对象
<bean id="account" scope="singleton" class="com.scope.Account"></bean>
<bean id="account1" scope="prototype" class="com.scope.Account"></bean>
2. 如何控制复杂对象的创建次数?
FactoryBean的三个方法里面的一个方法,即通过设置isSingleton()的返回值 来控制次数。
return true 只创建一次,
return false 创建多次。
如果没有 isSingleton()的放大,还是通过scope属性来控制次数。
3. 为什么要控制对象的创建次数?
为了节省内存,避免浪费。有的对象可以公用,则只创建一次就行了。
4. 什么样的对象只创建一次?
可公用,线程安全的对象。比如:
(1)SqlSessionFactory
(2)DAO
(3)Service (无状态的service都只一次)
5. 什么样的对象每次都需要创建?
不能公用 或 线程不安全的对象
(1)Connection 连接对象不能公用,每次都需要新建
(2)SqlSession | session
(3)Struts2 Action
多读书,没有错的
加加油~
“Do one thing every day that scares you.”
– Mary Schmich
本文探讨了在软件开发中如何控制简单及复杂对象的创建次数,分析了singleton与prototype的作用,以及FactoryBean在控制复杂对象创建次数中的应用。文章强调了控制对象创建次数的重要性,旨在节省内存资源,避免浪费。
3280

被折叠的 条评论
为什么被折叠?



