Spring学习之依赖注入

依赖注入:为对象属性赋值的方法

1.set注入

property:通过成员变量的set方法进行赋值
name:设置需要赋值的属性名(和set方法有关)
value:设置为属性所赋的值
ref:为属性赋另外一个bean
在这里插入图片描述
测试类中测试
在这里插入图片描述

2.构造器注入

在这里插入图片描述

如果我们在每一个constructor-arg都只写value属性,spring会为我们自动匹配拥有相同数量的参数的构造方法
特殊值处理
  1. 字面量赋值
    int a= 10 ;
    使用<property name =“ ” value= “”>

  2. null值 在这里插入图片描述

  3. xml 实体
    在这里插入图片描述
    在这里插入图片描述

  4. CDATA节(是xml中特殊的标签,不能写在属性中)
    在这里插入图片描述

为类类型的属性赋值
  1. 创建一个类Clazz表示班级

  2. 在student类中添加属性Clazz
    在这里插入图片描述

  3. 在spring配置文件中创建bean
    在这里插入图片描述

  4. 在测试类中测试
    在这里插入图片描述

  5. 也可以通过级联的方式实现
    在这里插入图片描述
    在测试类中进行测试,发现报错
    在这里插入图片描述
    要想使用这种方式进行赋值,就必须要先为clazz赋值才可以,所以这种一般用于修改,很少使用这种方式
    在这里插入图片描述
    在这里插入图片描述

  6. 还可以使用内部bean进行赋值
    在这里插入图片描述
    在这里插入图片描述

注意ApplicationContext无法直接获取内部bean
为数组类型的属性值赋值
  1. 在student实体类中添加hobby数组属性 在这里插入图片描述
  2. 在配置文件中为数组类型的值赋值,使用array标签嵌套value,如果是类类型数组,就是用ref标签
    在这里插入图片描述
    在这里插入图片描述
为集合类型的属性赋值
  1. 在clazz实体类中创建一个list集合
    在这里插入图片描述

  2. 在配置文件中为list属性赋值
    在这里插入图片描述

  3. 在测试类中验证
    在这里插入图片描述

  4. 也可以使用util约束单独创建一个集合bean
    在这里插入图片描述

  5. 在原位置使用ref指向这个集合bean
    在这里插入图片描述

  6. 在测试类中测试
    在这里插入图片描述

为Map类型的属性赋值
  1. 创建teacher实体类

  2. 在student实体类中添加对应的属性
    在这里插入图片描述

  3. 在配置文件中添加两个老师的bean
    在这里插入图片描述

  4. 在studentFive中为teacherMap属性赋值
    在这里插入图片描述

  5. 在测试类中验证
    在这里插入图片描述

  6. 也可以使用util约束
    在这里插入图片描述

  7. 在原来位置引入
    在这里插入图片描述

  8. 在测试类中进行测试
    在这里插入图片描述

依赖注入之p命名空间

在这里插入图片描述
在这里插入图片描述
在测试类中进行测试,没有问题
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值