处理空值
要变成真正的Null,可以使用标签<null/>
这种形式赋值null的时候,不需要写value,直接写这个标签就可以了
如果想赋值空字符串 "";写个value标签对,然后标签里面什么都不写,就可以赋值""了
写到属性里面
通过构造器给list赋值
当你写一个构造方法后,系统就不会产生一个无参构造函数了,所以按着之前的去找无参构造就会报错。
因此IOC里面要定义一个上面的bean,就要保证bean中引用的类里面有无参构造
构造器方式赋值
property形式的是set方法,构造方法也一样可以
一共有三种赋值方式:
(1)set赋值
(2)构造方法赋值
(3)p命名空间赋值
(4)自动装配:只适用于ref类型,对于简单类型无效
autowire修饰的类中有一个ref属性叫做teacher,并且ioc容器中恰好有一个bean的id也叫teacher
也可以根据类型装配
类里面有一个teacher类型的变量,那就在bean里面去找是不是也有一个teacher类型的,找到就注入接好了
若是有两个teacher怎么办?
构造方法:
构造方法里需要一个teacher,仍然会去判断容器里面有没有teacher,如果有则自动注入,此时可以看出构造方法和byType一样,区别是构造方法可以写多个,
此种方式的本质就是byType
要是不用可以不写,也可以使用no