一、set方法注入(最重要)
1.值类型注入 value
2.属性类型注入 ref
配置文件:
测试代码:
car.java
测试结果:
二、构造函数注入(重要)
name属性:构造函数的参数名
index属性:构造函数的参数索引
type属性:构造函数的参数类型
1.name、value属性
配置文件:
构造函数:name在前,car在后
测试代码:
测试结果:
2.name、value、index属性(index属性查找对应的构造函数)
(1)name:index = “0” car:index = “1”
所选的构造函数是name在前的构造函数
(2)name:index = “1” car:index = “0”
所选的构造函数是name在后的构造函数
3.name、value、index、type属性(其中name、index、type能准确定位构造函数)
三、p名称空间注入(了解)
p名称空间注入,走set方法,可以简化property
1.导入p名称空间:xmlns:p="http://www.springframework.org/schema/p"
2.使用p:属性完成注入
值类型: p:属性名 = "值"
对象类型: p:属性名-ref = "bean名称"
配置文件
demo.java
四、spel注入(了解)
spel注入:spring Expression Language 即Spring表达式语言
value后,若是值类型,则使用value=“#bean名称+属性”,即使用该bean内该属性的值
value后,若是对象类型,则使用ref=“属性名”
配置文件:
demo
result:
五、复杂性注入
1.数组
(1)如果一个数组只有一个值/对象,可以直接使用value|ref注入即可
配置文件:
collectionBean.java
demo
result:
(2)若有多个数值/对象
配置文件:
result:
2.List
(1)如果一个数组只有一个值/对象,可以直接使用value|ref注入即可
(2)多个数据时
3.Map
key、value属性
4.Properties