首页 > 其他分享 > Spring6 DI 依赖注入--Bean属性赋值

Spring6 DI 依赖注入--Bean属性赋值

时间:2023-02-04 09:55:11浏览次数:52  
标签:set DI -- 构造 Bean 注入 赋值 属性

Spring6基于XML实现Bean 管理(属性赋值)

IOC和DI有什么区别:DI是IOC中的具体实现,DI表示依赖注入或注入属性,注入属性要在创建对象的基础之上完成

依赖注入方法

bean属性赋值方法只有一种:构造器注入(之所以这么说是为了便于记忆),我们知道构造器有两种:  无参构造,有参构造。这两种方法最终都是要调用set方法完成。

有参构造属性赋值

<!--有参构造注入属性 name-->
<bean id="" class="">
    <!--属性:可以根据有参构造函数的参数名(name),
     值:value 或ref(外部BEAN)引用
-->
    <constructor-arg name="" value=""></constructor-arg>
    <constructor-arg name="" value=""></constructor-arg>
</bean>


 <!-- 使用构造方法注入属性 index -->
<bean id="" class="">
       <!--
       属性:也可以根据使用参数索引 (index)
      值:value 或 ref(外部bean)引用
    -->
        <constructor-arg index="0" ref=""/>
       <constructor-arg index="1" value=""/>
</bean>

 

无参构造属性赋值

无参构造+set方法实现,实体类中要有属性的set 方法和无无参构造函数

<!--set方法注入属性-->
<bean id="" class="">
    <!--使用property完成属性注入
        name:类里面属性名称
        value:向属性注入的值 或ref 外部bean引用
    -->
    <property name="" value=""></property>
    <property name="" value=""></property>
</bean>

 

属性赋值--特殊值

<bean id="" class="">
    <!--设置属性为空-->
    <property name="">
        <null/>
    </property>
    <!-- 属性值包含特殊符号
       
        把带特殊符号内容写到CDATA
    -->
    <property name="">
        <value><![CDATA[任意值]]></value>
    </property>
</bean>

在给属性赋值时,如果对象的属性A类型为对象B,那么可以在A的bean中对B的属性赋值,

<bean id='b' class=''>
    <property name='c' value=''>
</bean>

<bean id='a' class=''>
    <property name='mm' value=''>
    <property name='nn' ref='b'>
    <!-- 给属性的属性赋值 叫做级联赋值-->
    <property name='b.c' value=''>
</bean>

 

标签:set,DI,--,构造,Bean,注入,赋值,属性
From: https://www.cnblogs.com/hztech/p/17090884.html

相关文章

  • Maven3 - 工程构建操作
    DOS命令窗口的Maven工程构建操作要求运行Maven中和构建操作相关的命令时,必须进入到pom.xml所在的目录。如果没有在pom.xml所在的目录运行Maven的构建命令,那么会......
  • Maven2 - 根据坐标创建Maven工程
    Maven工程创建向量groupId:公司或组织域名的倒序,通常也会加上项目名称例如:com.atguigu.mavenartifactId:模块的名称,将来作为Maven工程的工程名version:模块的版本......
  • Maven1 - 介绍
    WhyisMaven?jar包管理jar包来源jar包间的依赖构建管理工具清理:删除上一次构建的结果,为下一次构建做好准备编译:Java源程序编译成*.class字节码文件测试:运......
  • 排列组合详解
    一、引入排列组合是组合数学的基础,主要是研究各种排列和组合的情况数。1.加法原理在同一步中,有不同类别的选择,可以将各类选择方案数累加获得总方案数。举例说明,比如从......
  • delphi 创建目录(文件夹)
    创建目录(文件夹)代码调用MkDir创建目录procedureTForm1.Button1Click(Sender:TObject);begin//创建目录MkDir('D:\测试目录1');//如果目录存在时引发异常......
  • Paraview学习笔记(2)
    Exercise2-ATornadosimulationImportingandpreparingthedata在这个练习中,我们将看一看模拟龙卷风中的风的结果。相关数据集包含常规3D网格(所谓的流场)上的速度......
  • delphi 删除目录(文件夹)
    删除目录(文件夹)代码调用RmDir删除目录procedureTForm1.Button1Click(Sender:TObject);begin//创建测试目录ForceDirectories('D:\测试目录1\目录1');Forc......
  • 树非线性结构:1对n结点之间有分支,具有层次关系树(Tree)是n(n≥0)个结点的有限集n=0,称为空树n>0有且仅有一个特定的称为根(Root)的结点其余结点可分为m(m≥0)......
  • 关于寒假集训结束...
    这八天完结了tarjan,并往后学习了lca,二分答案(应该算是复习)和开了一点高斯消元。对比其他人吧,我的速度有点过于慢了。尤其是二分答案,那三个题一个研究了一天,最后总感觉还......
  • XX汉字笔顺去广告方法
    过年想给家里小孩下了一个笔画软件,没想到随便点几下全是广告,然后又多下了几个全是一个样,无一例外都是广告集合体,然后我挑了一个UI比较好看的app,然后用MT一看,竟然没加固!!!然......