重拾Java之spring之通过bean标签注值(手动+自动)

简单属性赋值:
首先创建一个calss对象,写上我们需要的属性值,写上set方法
在这里插入图片描述
2.在xml文件里面创建bean标签,通过里面的property name value属性给目标类赋值。 name里写要赋值的属性名,value里写要赋的值。可在自己写的类里赋值,也可给java包里的已有的类赋值。bean标签下的赋值实质上是调用类里的set方法。
在这里插入图片描述
3.创建测试类,这里最重要的就是ApplicationContext这个类,它可以读取spring配置文件,并创建类。 并通过ApplicationContext.getbean()方法拿到
创建好的对象来使用它的方法。
在这里插入图片描述
引用类型赋值:
与简单类型不同,当我们想给引用类型赋值时,需要修改bean标签下的id属性,将其改为ref,里面的参数是引用类型名称,同时在下边创建引用类型的bean标签并赋值。赋值使用的仍是类中的set方法。
在这里插入图片描述
构造注入:spring调用类的有参构造方法,在创建对象的同时,在构造方法中给属性赋值。
1.在类中创建有参构造方法
在这里插入图片描述
2.在bean标签中使用constructor-arg属性。可以通过构造方法中的属性名字赋值,也可以通过构造方法中的属性位置赋值
<constructor-arg>标签属性:
name:表示构造方法的形参名
index:表示构造方法参数的位置,参数从左往右是0,1,2的顺序
value:构造方法的的参数类型是简单类型的,使用value
ref:构造方法的的参数类型是引用类型的,使用ref
在这里插入图片描述
引用类型的自动注入:
引用类型的自动注入,spring框架模板某些类型可以给引用类型赋值,不用你再给引用类型赋值
使用的规则常用的是byName,byType,
1.byName(按名称注入):java类中引用类型的属性名和spring中的配置文件id一样且数据类型是一致的,这样的容器中的bean,spring能够赋值给引用类型。在容器中查找和自己对象set后面的值对应的bean的id
语法:
<bean id="" class ="" autowire=“byName”>
简单属性赋值
</bean>
在这里插入图片描述
在这里插入图片描述

2.byType(按类型注入):java类中引用类型的数据类型和spring类型中(配置文件)的class属性是同源关系的,这样的bean能够赋值给引用类型注:同源就是一类的意思。
1.java类中的引用类型和bean的class是一样的
2.java类中的引用类型和bean的class值的父子类关系的
3.java类中的引用类型和bean的class值的接口和实现类关系
语法:
<bean id="" class ="" autowire=“byType”>
简单属性赋值
</bean>

下例中primarySchool与Student类中的school是父子类关系。由于子类与父类同源,于是bytype将子类的值赋值给父类
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值