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


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

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

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

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

    • 在实体类User中加入有参构造
      Spring5(4) —— IOC创建对象的方式
      Spring5(4) —— IOC创建对象的方式

下面举例3种官方文档上使用的构造器初始化对象的方法
①下标赋值
Spring5(4) —— IOC创建对象的方式
Spring5(4) —— IOC创建对象的方式
Spring5(4) —— IOC创建对象的方式

②类型赋值
Spring5(4) —— IOC创建对象的方式
Spring5(4) —— IOC创建对象的方式
Spring5(4) —— IOC创建对象的方式
③参数名赋值(推荐使用)
Spring5(4) —— IOC创建对象的方式
Spring5(4) —— IOC创建对象的方式
Spring5(4) —— IOC创建对象的方式


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

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


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

    原因就是我们注册时使用的bean节点相当于new语法,所以一个类如果我们只是注册了一次,相当于只是new了一个对象,这就使得不管我们获取多少次容器中的这个类的对象都是同一个

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