Spring如何在XML文件中指定Bean之间的引用关系

Spring是一个IOC(DI)的容器框架,一个典型的Spring项目需要创建一个或多个Bean,这些Bean的配置信息都在配置文件中,Bean的配置文件可以放在classpath下,也可以放在其他目录下。下面我们讲解如何在配置文件中指定两个Bean之间的依赖关系,创建两个类Cat和Person,Person类中的一个属性为Cat类型,如下图所示。

操作方法

  • 01

    我们在创建的Cat类中定义4个属性,并且创建Cat类的无参构造、有参构造、getter和setter方法,重写toString()方法。创建Person类,同样创建getter和setter方法,重写toString()方法。我们为Cat类创建一个bean,id为cat2,bean的创建方式沿用上文,不明白的朋友可以查看小编之前的文章。接下来创建Person类的bean,使用属性注入的方法添加属性,可以使用property的ref属性建立bean之间的引用关系,如下图所示。我们在运行结果中可以看出打印Person类的对象时,输出的信息有cat的值。

  • 02

    组成应用程序的bean经常需要相互协作完成应用程序的功能,要使bean能够相互访问,就必须在bean配置文件中指定对bean的引用。我们也可以使用property的<ref>元素来设置bean之间的引用,如下图所示。

  • 03

    我们也可以在属性或构造器里包含bean的声明,这样的bean称为内部bean,可以不定义id,不能被外部引用。当bean实例仅仅给一个特定的属性使用时,可以将其声明为内部bean,内部bean声明直接包含在<property>或<constructor-arg>元素里,不需要设置任何id或name属性,如下图所示。

  • 04

    上述步骤介绍的为使用属性注入的方式引入外部bean,下面介绍使用构造器注入的方式引入外部bean,用法大体上是相同的,都是使用ref属性,我们先为Person类增加有参构造,并且再创建一个无参构造,使用构造器注入的结果如下图所示。

  • 05

    我们将Person类全部属性均使用构造器注入,均在<constructor-arg>元素里添加属性值即可,结果如下图所示。

  • 06

    下面介绍如何在为bean的属性注入null值,可以使用<null/>元素标签为bean的字符串或其它对象类型的属性注入null值。如下图所示,我们不需要给Person类的对象注入一个Cat类对象这个属性,因此使用<null/>元素表示,如下图所示。

  • 07

    最后我们介绍级联属性,Spring支持级联属性的配置,我们可以在创建Person类的bean时为Cat类的某一个属性赋值,前提是person的属性car必须先初始化才可以为级联属性赋值,否则会有异常,写法如下图1所示,我们为cat这个bean在person这个bean中设置price属性,运行结果如下图2所示。

(0)

相关推荐

  • 如何在PDF文件中插入图片

    如何在PDF文件中插入图片 1.下载捷速pdf阅读器,然后将编辑工具安装到我们的电脑中来; 2.打开pdf编辑工具,用编辑工具打开pdf文件; 3.打开后我们可以清楚的看到文件,这时单击"文 ...

  • 如何在PDF文件中选择双面打印其中的几页

    我们在制作好PDF文件后,一般会选择打印出来,今天就跟大家介绍一下如何在PDF文件中选择双面打印其中的几页的具体操作步骤.1. 打开PDF文件我们的电脑上事先需要安装PDF软件或者其他的阅读器也可以, ...

  • 微信小程序开发如何在wxml文件中添加block标签

    微信小程序开发是现在非常流行的一项开发工作,有些用户想知道如何在wxml文件中添加block标签,接下来小编就给大家介绍一下具体的操作步骤.具体如下:1. 首先第一步打开微信小程序项目,根据下图所示, ...

  • 如何在HTML文件中插入css样式表

    如何在HTML文件中插入css样式表是我们建立一个网页最基本的格式,现在就让我们来看看该如何做吧.. 方法/步骤1 01 下载并安装软件保存到桌面,然后在桌面建立一个文件夹,里面再分别新建两个名为&q ...

  • 如何在PDF文件中查找关键字

    如何在PDF文件中查找关键字呢?接下来小编就为大家分享一下在PDF文件中查找关键字的方法,希望能帮到大家! 操作方法 01 首先以图中所示pdf文件为例,查找其中的关键字:频谱感知. 02 在pdf阅 ...

  • 解决XML文件中中文乱码的方法

    操作方法 01 首先打开XML文件 02 发现文件中的中文是乱码状态,找到开头的这段代码 <?xml version="1.0" encoding="ISO-885 ...

  • Linux统计文件中指定字符串个数的2种方法

    统计一个文件中某个字符串的个数,其实就像在一块沙地里面找一块石头,有的人看到石头以后,在上面做个标记(grep),然后记住自己做了多少个标记;有的人看到石头以后,把它跳过去(awk),然后统计自己跳了 ...

  • 如何在Excel文件中打勾?Excel文件中打勾的两种方法介绍

    在Excel表格内输入文字估计大多数小伙伴都会,那么如果是在表格的方框内打勾呢?下面小编就为大家详细介绍Excel文件中打勾的两种方法,一起来看看吧 方法一:通过复选框功能打勾 本方法是通过Excel ...

  • 如何在PDF文件中添加书签?

    在阅读PDF格式文件时,我们如何在里面添加书签呢?方法很简单,下面小编就来为大家介绍.具体如下:1. 首先,打开我们要添加书签的PDF文件.接着,点击页面上端的"视图",在弹出选项 ...