第八章--控制Spring⼯⼚创建对象的次数

1.如何控制简单对象的创建次数

 <bean id="account"scope="singleton/prototype"class="com.dy.scope.Account"/>
sigleton:只会创建⼀次简单对象 ---默认值 单例
prototype:每⼀次都会创建新的对象  

2. 如何控制复杂对象的创建次数

FactoryBean接口中的isSingleton()方法
 isSingleton(){
 return true 只会创建⼀次
 return false 每⼀次都会创建新的
 }

如没有isSingleton⽅法 还是通过scope属性 进⾏对象创建次数的控制

3. 为什么要控制对象的创建次数?

好处:节省不必要的内存浪费

什么样的对象只创建⼀次?

1. SqlSessionFactory --- 重量级的mybatis的工厂 占用内存
2. DAO --- UserDAO 被多用户共用
3. Service --- 无状态的Service eg:你登录我登录 只是用户名密码不同

什么样的对象 每⼀次都要创建新的?

1. Connection --- 连接对象 因为要控制事务 不可能被大家共用
2. SqlSession(mybatis)---封装了连接 它和连接基本上是一一对应的,不能被大家共用 | Session --- 
3.  控制器当中Struts2 Action不能被大家共用

本系列文章从Spring5原理开始深入浅出,从工厂特性=>依赖注入–IOC=>AOP编程=>Spring事务=>纯注解开发。本文来自观看B站孙帅Spring教程后做的笔记。持续更新…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值