【Spring 给对象的属性赋值的两种方式】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言


补充《Spring》

一、有参构造注入

1.1有参构造注入

  1. 必须提供有参构造方法
 @AllArgsConstructor
 public class Student {
 }
  1. applicationContext.xml配置
<!--通过有参构造方法给属性赋值,创建Student组件对象-->
<bean id="stu" class="com.xxx.pojo.Student">
    <constructor-arg name="sno" value="1001"></constructor-arg>
    <constructor-arg name="name" value="小张"></constructor-arg>
    <constructor-arg name="age" value="18"></constructor-arg>
</bean>

index: 索引,索引号从0开始
type:类型
name:名称
value: 赋值:基本类型和基本类型的包装类以及String类型。
ref :值 需要引用另一个对象

二、设值注入 (set方法赋值)

2.1设值注入 (set方法赋值)

代码如下(示例):

 @Data
 public class Student {
 }

2.2 配置文件中配置

<!--通过set注入给属性赋值,创建Student组件对象-->
<bean id="stu2" class="com.xxx.pojo.Student">
    <property name="sno" value="1002"></property>
    <property name="name" value="翠花"></property>
    <property name="age" value="19"></property>
</bean>

三、属性不同数据类型赋值的语法

3.1 基本类型或String字符串类型

<!--基本类型或String类型赋值-->
<property name="sno" value="1008"></property>
<property name="name">
    <value>老王</value>
</property>

3. 2.数组类型

<property name="nickNames">
    <array>
        <value>王王</value>
        <value>老老</value>
    </array>
</property>

3.3 List 类型

<property name="nickNames">
    <list>
        <value>王王</value>
        <value>老老</value>
    </list>
</property>

3.4 Set 类型

<property name="nickNames">
    <set>
        <value>王王</value>
        <value>老老</value>
    </set>
</property>

3.5 Map 类型

<property name="girls">
    <map>
        <entry key="1" value="村花"></entry>
        <entry key="2" value="翠花"></entry>
    </map>
</property>

3.6 Properties类型 ,属性配置类型

<property name="properties">
    <props>
        <prop key="qq">138389438</prop>
        <prop key="pwd">520209420</prop>
    </props>
</property>

四、DI

DI: 依赖注入(Dependency Injection),IOC和DI完全一样。
在一个类对象(service)中需要依赖于另一个类对象(dao),
将另一个类对象(dao)注入给对象(service)的过程,称为依赖注入。
示例:

<bean id="stu3" class="com.xxxx.pojo.Student">
<!--将年级对象注入给学生对象的年级属性-->
    <property name="grade" ref="grade"></property>
</bean>

<!--创建年级对象组件-->
<bean id="grade" class="com.xxxx.pojo.Grade">
    <property name="id" value="1"></property>
    <property name="name" value="S3"></property>
</bean>

五、查看Spring容器中管理所有对象

String[] names=ac.getBeanDefinitionNames();
for (String name : names) {
	System.out.println(name);
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值