Spring中如何配置bean

在讲解Spring中bean的配置之前,首先需要学习两个概念:IOC(反转控制)和DI(依赖注入)。IOC(Inversion of Control)的思想是反转资源获取的方向,传统的资源查找方式要求组件向容器发起请求查找资源,而应用了IOC之后,则是容器主动地将资源推送给它所管理的组件,组件所要做的仅是选择一种合适的方式来接收资源。DI(Dependency Injection)是IOC的另一种表现形式,即组件以一些预先定义好的方式(例如:setter方法)接收来自如容器的资源注入。本文主要讲解基于XML文件的方式配置bean,如下图所示。

操作方法

  • 01

    我们在XML文件中配置bean时,bean的id用于标识容器,是唯一的。若id没有指定,则Spring自动将全限定名作为bean的名字。id可以指定多个名字,名字之间可以用逗号、分号或空格分隔。class为类的全类名,由包名和类名组成。我们使用xml文件配置bean时,要求实体类必须要有一个无参构造方法,若没有则会启动报错。

  • 02

    属性注入方式,是通过setter方法为bean注入属性。我们在bean的配置文件中使用property元素中的name属性标识需要注入的bean属性,然后在类中使用setXxx()的方法将属性注入,因此name属性的值必须和setter方法中大写字母开头的名字要一致。如使用setName2()方法,则配置文件中name属性的值必须为name2。

  • 03

    上述步骤是通过属性注入依赖的方式,下面我们讲解通过构造器注入依赖的方式。通过构造方法来注入bean的属性值或依赖对象,它保证了Bean实例在实例化后就可以使用 。构造器注入在<constructor-arg>元素里声明属性,没有name属性,按照构造方法默认的顺序或指定顺序来注入。如下图所示,可以看到属性注入的顺序完全和构造方法传参的顺序一致。

  • 04

    我们编写测试代码,在测试代码的main()方法中获取Cat对象,并打印输出该对象。ApplicationContext在初始化上下文时就实例化所有单例的的Bean,用于获取Cat对象。打印输出默认的是调用Cat类的toString()方法,因此在创建类时需要重写toString()方法。

  • 05

    接下来我们在使用构造器注入时添加index属性用于标识注入的顺序,如下图所示。

  • 06

    使用构造器注入属性值可以指定参数的位置和参数的类型,用以区分重载的构造器。上述步骤指定了参数的位置,下面我们再为Cat方法创建一个有参构造,传入4个参数,如下图所示,而相应的bean的配置增加了type属性,用于标识字段的类型。

  • 07

    我们在使用构造器注入时,不仅可以用value属性,也可以使用value子元素。使用双标记的value子元素,中间包裹的位置填入相应的值即可,如下图所示。

  • 08

    如果我们在使用xml配置bean时,需要注入的属性中含有特殊字符,那么直接将特殊字符写在配置文件中是错误的。若字面值包含特殊字符,可以使用<![CDATA[]]>把字面值包裹起来,基本数据类型及其封装类、String等类型都可以采取字面值注入的方式。

(0)

相关推荐

  • Spring三种实例化Bean的方法

    Spring三种实例化Bean的方法 操作方法 01 1.实例化bean的三种方法: (1) 构造器 <!-- 体验1 --> <bean id="personServic ...

  • 在CentOS7中如何配置NIC绑定?

    在CentOS7中如何配置NIC绑定? NIC(网络接口卡)绑定也称为网络绑定.它可以被定义为多个NIC到单键接口的聚合或组合.它的主要目的是提供高可用性和冗余. 实验环境:DELL CentOS 7 ...

  • 在Linux中安装配置Postfix来搭建邮件发送服务

    在创建网站应用时,在用户进行某些操作时需要发邮件给用户是一种必不可少的操作.云服务虽然是一个不错的选择.但如果体量太小,或是受到某些条件限制时,自建服务也许是一个更好的选择.下面尝试在 CentOS ...

  • Linux系统中网络配置检查方法

    相信很多小伙伴都有在使用Linux系统,那么在其中我们怎么去检查网络配置呢?方法很简单,下面小编就来为大家介绍.具体如下:1. 首先,打开电脑上的虚拟机软件,在终端处切换至student用户,并命令为 ...

  • Mac系统中如何配置JDK环境变量?Mac中JDK环境变量配置教程

    Mac系统中如何配置JDK环境变量?在使用mac系统的电脑时,如何进行设置JDK环境变量呢?接下来的文章中小编将会带来详细的介绍,希望对您有所帮助. Mac中JDK环境变量配置教程 1.访问Oracl ...

  • 如何在Windows10系统中正确配置环境变量

    有的小伙伴在Windows10系统中使用java编程时,需要要安装JDK,来配置环境变量,但是却不知道如何配置,那么小编就来为大家介绍一下吧.具体如下:1. 第一步,下载JDK1.7 版本.2. 第二 ...

  • 如何在win10 java中正确配置环境变量

    有的小伙伴在Windows10系统中使用java编程时,需要根据环境,来配置环境变量,但是却不知道如何正确配置,那么小编就来为大家介绍一下吧.具体如下:1. 第一步,点击桌面底部的搜索栏,接着输入并搜 ...

  • 在Windows Server 2012操作系统中如何配置DHCP IPv4服务器选项

    今天给大家介绍一下在Windows Server 2012操作系统中如何配置DHCP IPv4服务器选项的具体操作步骤.1.首先打开我们的Windows Server 2012 R2操作系统,在开始菜 ...

  • 电脑中的配置信息在哪看

    我们有时候是需要查看电脑中的配置的,今天小编跟大家分享的是电脑中的配置信息在哪看.具体如下:1.首先我们先打开电脑,然后选中"此电脑"/"我的电脑",右键,在打 ...