Spring5(4) —— IOC创建对象的方式


1.调用类的无参构造创建对象

  1. 使用类中的无参构造创建对象,默认就是使用这种方法
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    从上面的例子我们可以得出3个结论
    • 只要我们创建了一个POJO类,就应该马上去spring配置文件中注册这个类
    • 注册在spring配置文件中的类会在容器被获取的时刻将注册在其中的类全部实例化,而不是我们指定回去某一个对象的时候再去为我们实例化
    • 容器实例化注册在其内部的对象的方式就是调用这个类的无参构造

2.调用类的有参构造创建对象

  1. 使用类中定义的有参构造来实例化对象,需要我们手动的指定传入构造器中的参数

    • 在实体类User中加入有参构造
      在这里插入图片描述
      在这里插入图片描述

下面举例3种官方文档上使用的构造器初始化对象的方法
①下标赋值
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

②类型赋值
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
③参数名赋值(推荐使用)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


3.验证在获取容器的时候它会将全部注册的类都实例化的结论

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


5.验证注册一次就只会产生一个对象的结论

    原因就是我们注册时使用的bean节点相当于new语法,所以一个类如果我们只是注册了一次,相当于只是new了一个对象,这就使得不管我们获取多少次容器中的这个类的对象都是同一个
    上面的解释纯属张口就来,在学完spring之后,可以发现这是spring中默认创建对象的模式是单例模式,我们可以在bean节点中使用scope属性进行设置,默认spring将其值设为singleton即单例模式,我们可以将scope设为prototype,即设为原型模式,就可以每次获取的时候都获取一个新的对象了

    链接: spring官方文档关于scope的讲解.

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值