Spring依赖注入数值问题

Spring依赖注入数值问题

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

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

  • 示例代码

    <bean id="dept1" class="com.crzhang.pojo.Dept">
        <property name="deptId" value="1"></property>
        <property name="deptName" value="研发部门"></property>
    </bean>
    
    <bean id="empChai" class="com.crzhang.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>
    

在这里插入图片描述#### 4. 内部bean

  • 概述

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

  • 示例代码

    <!--    测试内部bean-->
    <bean id="empXin" class="com.crzhang.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.crzhang.pojo.Dept">
                <property name="deptId" value="2"></property>
                <property name="deptName" value="人事部门"></property>
            </bean>
        </property>
    </bean>
    
5 集合
  • List
<!--    测试集合-->
    <bean id="dept3" class="com.crzhang.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.crzhang.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.crzhang.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.crzhang.pojo.Dept">
    <property name="deptId" value="106"></property>
    <property name="deptName" value="后勤部门"></property>
    <property name="empMap" ref="empMap"></property>
</bean>

Spring依赖注入方式【基于XML】

为属性赋值方式

  • 通过xxxset()方法
  • 通过构造器
  • 反射
1. set注入
  • 语法:<property>
2. 构造器注入
  • 语法:<constructor-arg>
3. p名称空间注入

导入名称空间:xmlns:p=“http://www.springframework.org/schema/p”

  • 语法:

  • 示例代码

    <bean id="stuZhouxu" class="com.crzhang.spring.pojo.Student">
        <property name="stuId" value="102"></property>
        <property name="stuName">
            <value><![CDATA[<<zhouxu>>]]></value>
        </property>
    </bean>
    
    <bean id="stuZhiFeng" class="com.crzhang.spring.pojo.Student">
        <constructor-arg name="stuId" value="103"></constructor-arg>
        <constructor-arg name="stuName" value="zhifeng"></constructor-arg>
    </bean>
    
    <bean id="stuXiaoxi"
          class="com.crzhang.spring.pojo.Student"
          p:stuId="104"
          p:stuName="xiaoxi"></bean>
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值