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[]]>
: