Spring 从0开始IOC容器的Bean管理

Posted 把苹果咬哭

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring 从0开始IOC容器的Bean管理相关的知识,希望对你有一定的参考价值。

Bean 管理其实就是指spring 的2个操作:创建对象、注入属性。

创建对象在之前的文章里都有操作过,那这个注入属性也很好理解。
比如类有一个属性private String userName;,如果我要对这个属性设值,那么这个类可以提供 set() 方法,以供调用。
而这个过程,现在也交由 spring 管理,叫做注入属性。

spring 对于 Bean 管理有两种方式:基于XML配置文件方式、基于注解方式,本篇为基于XML配置文件方式。

一、创建对象

1). 在配置文件里通过 bean 标签来创建。

2). 这里有2个属性:

  • id:这个指对象的别名,通过这个名字可以获取到对象。
  • class:要创建的对象所在类全路径,比如图里的"com.pingguo.spring5.User"

3). 在创建对象的时候,默认执行无参构造方法。

二、注入属性

也叫 DI,依赖注入。这个需要在创建对象的基础之上来完成。

1). 使用set方法注入

有了 set 方法后,现在可以在 XML 配置文件里注入属性的值,通过 property 标签:

  • name:类的属性名称
  • value:要注入的值

测试一下效果,我在 Book 类里新增一个 testBook() 方法,打印出注入的 bookName 的值,然后在测试函数里调用。

运行结果:

2). 通过有参数构造注入

我直接修改了之前的示例代码,定义好类的属性,以及对应的有参构造方法后,可以在配置文件里进行注入。
使用 constructor-arg 标签:

  • name:类的属性名称
  • value:要注入的值

再次执行测试代码,查看结果是正确的。

3). 注入空值null

如果要给熟悉注入空值null,可以这样写:

运行后的结果:

4). 注入特殊符号

如果我要注入带有特殊符号的值,比如<<把苹果咬哭的测试笔记>>,要使用<![CDATA[]]>

以上是关于Spring 从0开始IOC容器的Bean管理的主要内容,如果未能解决你的问题,请参考以下文章

Spring5——IOC操作Bean管理(基于xml文件)

面试官:Spring是如何把Bean注册到IOC容器中的?

Spring-IOC容器-Bean管理-基于注解方式详解

Spring-IOC容器-Bean管理-基于XML方式超详解!

[Spring5]IOC容器_Bean管理注解方式_创建对象

Spring Bean管理