Spring依赖注入bean属性、手动装配使用xml配置、SpEL表达式、集合List、Set、Map、Properties注入、数组注入、注解注入-day02

第一节 Spring依赖注入Bean属性(xml)

1.1 手动装配,使用xml配置

1. 通过构造方法注入

  1. 写一个Student类,提供get/set、toString、无参构造、2种不同的有参构造
    在这里插入图片描述
  2. beans.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <!--通过构造方法注入属性的值-->
    <!--<bean class="com.it.model.Student" id="student">
        &lt;!&ndash;这样写就调用的是2个string的构造方法&ndash;&gt;
        <constructor-arg name="username" value="shu"></constructor-arg>
        <constructor-arg name="password" value="123"></constructor-arg>
    </bean>-->

    <!--<bean class="com.it.model.Student" id="student">
        &lt;!&ndash;这样写就调用的是一个string 一个是int 的构造方法&ndash;&gt;
        <constructor-arg name="username" value="shu"></constructor-arg>
        <constructor-arg name="age" value="18"></constructor-arg>
    </bean>-->

    <bean class="com.it.model.Student" id="student">
        <!--还可以通过索引加类型,给构造方法赋值-->
        <constructor-arg index="0" value="shu" type="java.lang.String"></constructor-arg>
        <constructor-arg index="1" value="18" type="int"></constructor-arg>
    </bean>

</beans>
  1. 效果
    在这里插入图片描述

2. 通过属性的setter方法注入

  • setter方法有两种注入,一般使用第一种直观
  1. beans1.xml
    在这里插入图片描述
  2. 效果
    在这里插入图片描述

3. 通过p命名空间注入【了解】

  • 使用这种方法的类,必须要给属性提供get/set方法,否则报错
  1. beans2.xml
    在这里插入图片描述
  2. 效果
    在这里插入图片描述

1.2 SpEL表达式【了解】

  • SpEL:Spring 表达式
  • 对<property>进行统一编程,所有的内容都使用value。
  • <property name="" value="#{表达式}">
    #{123}、#{‘jack’} : 数字、字符串
    #{beanId} :另一个bean引用
    #{beanId.propName} :操作数据
    #{beanId.toString()} :执行方法
    #{T(类).字段|方法} :静态方法或字段

演示

  1. 提供Address属性的get/set方法、重写toString
    在这里插入图片描述
  2. 提供Customer属性的get/set方法、重写toString(toString无需包含地址)
    在这里插入图片描述
  3. beans3.xml

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值