IDEA版SSM入门到实战(Maven+MyBatis+Spring+SpringMVC) -Spring依赖注入数值问题

本文详细介绍了Spring框架中依赖注入的几种数值处理方法,包括字面量数值、CDATA区、外部已声明bean的级联属性赋值,以及内部bean和集合(List和Map)的引用。特别关注了如何通过ref属性和value属性来管理对象引用和直接赋值。
摘要由CSDN通过智能技术生成

第一章 Spring依赖注入数值问题

1.1 字面量数值
  • 数据类型:基本数据类型及包装类、String
  • 语法:value属性或value标签
1.2 CDATA区
  • 语法:<![CDATA[]]>
  • 作用:在xml中定义特殊字符时,使用CDATA区
1.3 外部已声明bean及级联属性赋值
  • 语法:ref

  • 注意:级联属性更改数值会影响外部声明bean【ref赋值的是引用】

  • 示例代码

    <bean id="dept1" class="com.atguigu.pojo.Dept">
        <property name="deptId" value="1"></property>
        <property name="deptName" value="研发部门"></property>
    </bean>
    
    <bean id="empChai" class="com.atguigu.pojo.Employee">
        <property name="id" value="101"></property>
        <property name="lastName" value="chai"></property>
        <property name="email" value="chai@163.com"></property>
        <property name="salary" value="50.5"></property>
        <property name="dept" ref="dept1"></property>
        <property name="dept.deptName" value="财务部门"></property>
    </bean>
    

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

1.4 内部bean
  • 概述

    • 内部类:在一个类中完整定义另一个类,当前类称之为内部类
    • 内部bean:在一个bean中完整定义另一个bean,当前bean称之为内部bean
  • 注意:内部bean不会直接装配到IOC容器中

  • 示例代码

    <!--    测试内部bean-->
    <bean id="empXin" class="com.atguigu.pojo.Employee">
        <property name="id" value="102"></property>
        <property name="lastName" value="xx"></property>
        <property name="email" value="xx@163.com"></property>
        <property name="salary" value="51.5"></property>
        <property name="dept">
            <bean class="com.atguigu.pojo.Dept">
                <property name="deptId" value="2"></property>
                <property name="deptName" value="人事部门"></property>
            </bean>
        </property>
    </bean>
    
1.5 集合
  • List

    <!--    测试集合-->
        <bean id="dept3" class="com.atguigu.pojo.Dept">
            <property name="deptId" value="3"></property>
            <property name="deptName" value="程序员鼓励师"></property>
            <property name="empList">
                <list>
                    <ref bean="empChai"></ref>
                    <ref bean="empXin"></ref>
    <!--                <bean></bean>-->
                </list>
            </property>
        </bean>
    
        <!--    测试提取List-->
        <util:list id="empList">
            <ref bean="empChai"></ref>
            <ref bean="empXin"></ref>
        </util:list>
        <bean id="dept4" class="com.atguigu.pojo.Dept">
            <property name="deptId" value="4"></property>
            <property name="deptName" value="运营部门"></property>
            <property name="empList" ref="empList"></property>
        </bean>
    
  • Map

    <!--    测试Map-->
    <bean id="dept5" class="com.atguigu.pojo.Dept">
        <property name="deptId" value="5"></property>
        <property name="deptName" value="采购部门"></property>
        <property name="empMap">
            <map>
                <entry key="101" value-ref="empChai"></entry>
                <entry>
                    <key><value>103</value></key>
                    <ref bean="empChai"></ref>
                </entry>
                <entry>
                    <key><value>102</value></key>
                    <ref bean="empXin"></ref>
                </entry>
            </map>
        </property>
    </bean>
    
    <util:map id="empMap">
        <entry key="101" value-ref="empChai"></entry>
        <entry>
            <key><value>103</value></key>
            <ref bean="empChai"></ref>
        </entry>
        <entry>
            <key><value>102</value></key>
            <ref bean="empXin"></ref>
        </entry>
    </util:map>
    <bean id="dept6" class="com.atguigu.pojo.Dept">
        <property name="deptId" value="106"></property>
        <property name="deptName" value="后勤部门"></property>
        <property name="empMap" ref="empMap"></property>
    </bean>
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZCY5202015

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值