Spring(IOC使用无参构造器创建的一种方式和使用有参构造器创建对象的三种方式)

使用的pojo为:

IOC使用无参构造器创建对象的方式:

设置一个参数:

测试结果为:

设置两个参数:

测试结果为:

IOC使用有参构造器创建对象有三种方式:

第一种方式:下标赋值(Spring会根据XML中对参数赋值的个数去选择构造器)

执行测试类:

结果为:

由于XML中只对一个参数进行赋值,Spring选择的是只有一个参数的构造器,也就是name构造器

如果XML中对两个参数进行赋值,Spring选择的是有两个参数的构造器,也就是name和password构造器

第二种方式:通过类型设置(不建议)

测试结果为:

第三种方式:直接通过参数名设置

仅设置name属性:

测试结果为:

设置name属性和password属性:

测试结果为:

与第一种方式类似,Spring会根据设置的参数选择不同的构造器

使用有参构造器创建对象的第三种方法与无参构造器创建的对象的方法类似,根据XML中对属性的赋值进行属性填充,使用无参构造器创建对象不管对多少个属性进行赋值只会调用无参构造器,但是如果使用有参构造器的第三种方式创建对象,Spring则会根据XML中对属性的赋值去选择不同的有参构造器。

猜你喜欢

转载自blog.csdn.net/qq_42500503/article/details/108933291