在Spring中自动装配Bean的属性

 更新时间:2019-01-08 22:00:58   作者:佚名   我要评论(0)

Spring的最基本的能力就是DI,即依赖注入,或控制反转,它可以为Bean注入其依赖的其他Bean。
一个Bean依赖其他Bean一般是通过在Bean中定义其他Bean的成员变量

Spring的最基本的能力就是DI,即依赖注入,或控制反转,它可以为Bean注入其依赖的其他Bean。

一个Bean依赖其他Bean一般是通过在Bean中定义其他Bean的成员变量的方式来实现的,那么,Spring的DI也就表现为给Bean的属性自动注入值。

这一般分为以下其中情况。

1,自动注入基本类型。

自动注入基本类型,即当一个Bean有一些基本类型的属性时,例如Stringdoubleint等类型的属性时,我们可以在xml中自动为这些属性注入值。虽然这也成为自动注入的一种,但严格来讲,这种注入并不算是真正意义上的依赖注入,充其量算是一种初始化方式或赋值方式。就一个具有真实意义的可运行系统而言,依赖,主要指的是不同组件,不同类之间相互依赖,协作完成一项工作。从这个角度来讲,DI更应该指的是下面的第2种情况。

自动注入基本类型,通过property标签的value属性来完成。

2,注入其他Bean类型的属性。

即如果一个Bean有另外一个Bean或者说类类型的成员变量,那么我们可以通过DI对该属性进行自动注入。这种情况应该算是真正意义上的自动注入。

注入其他Bean类型的属性,通过property标签的ref属性来完成。

3,注入List类型的属性。

如果一个Bean有一个List类型的属性,那么我们可以在xml中完成对它的注入。至于该属性是基本类型的list还是其他Bean的list,这里都可以支持。

4,注入map类型的属性。

如果一个Bean有一个Map类型的属性,那么我们可以在xml中完成对它的自动注入。

This is the end。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

您可能感兴趣的文章:

  • spring入门教程之bean的继承与自动装配详解
  • 浅谈Spring装配Bean之组件扫描和自动装配
  • Spring的自动装配Bean的三种方式
  • Spring中自动装配的4种方式
  • spring 自动装配和aop的使用
  • 深入浅析SpringBoot中的自动装配
  • Spring自动装配与扫描注解代码详解
  • 关于Spring中Bean的创建进行更多方面的控制
  • 在AOP中Spring生成代理类的两种方式
  • Spring中数据访问对象Data Access Object的介绍

相关文章

  • 在Spring中自动装配Bean的属性

    在Spring中自动装配Bean的属性

    Spring的最基本的能力就是DI,即依赖注入,或控制反转,它可以为Bean注入其依赖的其他Bean。 一个Bean依赖其他Bean一般是通过在Bean中定义其他Bean的成员变量
    2019-01-08
  • 解决pyinstaller打包pyqt5的问题

    解决pyinstaller打包pyqt5的问题

    pyinstaller打包使用pyqt5模块的时候,在win平台下,由于pyinstaller无法准确获取QT动态库文件路径,会报错导致无法打开运行程序,并提示错误信息pyinstaller
    2019-01-08
  • 浅谈关于JS下大批量异步任务按顺序执行解决方案一点思考

    浅谈关于JS下大批量异步任务按顺序执行解决方案一点思考

    前言 最近需要做一个浏览器的, 支持大体积文件上传且要支持断点续传的上传组件, 本来以为很容易的事情, 结果碰到了一个有意思的问题: 循环执行连续的异
    2019-01-08
  • 易语言的进程检测程序制作

    易语言的进程检测程序制作

    许多易语言新手朋友在制作软件的过程中也许可能会碰到需要为自己的程序增加一个检测进程的功能,可能是为了防止自己的程序被其他工具修改或者其他目的,但是却
    2019-01-08
  • 易语言添加软件背景音乐的方法

    易语言添加软件背景音乐的方法

    易语言软件如何添加背景音乐?计算机软件产业的蓬勃发展,造就了一批又一批的优秀程序猿(当然,笔者也在为了这个理想奋斗着)。很多时候,看到别人的优秀软件,
    2019-01-08
  • Python3 安装PyQt5及exe打包图文教程

    Python3 安装PyQt5及exe打包图文教程

    环境: Python 3.6.4 + Pycharm Professional 2017.3.3 + PyQt5 + PyQt5-tools ① Python 3 安装 Python 3.x 安装时,默认勾选ADD Python 3.6 to PATH和ADD Py
    2019-01-08
  • 易语言的qq消息轰炸软件制作

    易语言的qq消息轰炸软件制作

    本教程是用,易,语,言,简单的制作强大的软件刷屏,所谓刷屏和轰炸就是在聊天时短时间内发送大量无用信息,导致正常聊天不能进行! 小编分享此软件源码目的
    2019-01-08
  • 详解易语言自适应组件的写法与思路

    详解易语言自适应组件的写法与思路

    你还在为写的软件,不能适应窗口大小。 就是,窗口大小改变了,组件还是样烦恼? 小编今天就来教你简单的自适应 1、咱们就先建一个窗口程序,加入组件编辑框,
    2019-01-08
  • Python实现的拉格朗日插值法示例

    Python实现的拉格朗日插值法示例

    本文实例讲述了Python实现的拉格朗日插值法。分享给大家供大家参考,具体如下: 拉格朗日插值简单介绍 拉格朗日插值法是以法国十八世纪数学家约瑟夫·拉格朗日
    2019-01-08
  • Java源码解析ConcurrentHashMap的初始化

    Java源码解析ConcurrentHashMap的初始化

    首先看一下代码 private final Node<K,V>[] initTable() { Node<K,V>[] tab; int sc; while ((tab = table) == null || tab.length == 0) { // 第一
    2019-01-08

最新评论