注入空值和特殊符号(Bean管理XML方式)
1.注入空值:
<!-- 注入null -->
<property name = "address">
<!-- 注意: null标签是一个自结束标签(也就是单标签) -->
<null/>
</property>
- 注意: null是一个自结束标签
- 也就是如果我们要注入空值, 那么我们就不要在property标签中使用value属性值来注入null, 因为value属性值中是不能注入空值的, 如果我们在property标签中的value属性中写了一个null, 这个时候其实注入的也只是一个字符串"null"而已, 并不是一个真正的空值 —> 所以我们注入空值的时候就一定要通过在property标签中指明name之后通过null标签来完成
2. 注入特殊符号:
如果属性值中有特殊符号, 例如<>(左括号和右括号时), 这个时候我们是在xml语法环境中, 就会将<>解析为一个标签, 所以就会出错, 那么我们如何将<>解析为仅仅是单纯的左括号和右括号, 而没有任何的其他语义?(这里我们有两种方式:)
- 这里假设我们的address属性值要设置为: <<宝鸡>>
-
使用转义字符 : < , >
-
xml中<就表示的<(左括号), >表示的就是>(右括号), 所以我们可以写为:
<property name = "address" value = "<<宝鸡>>"></property>
- 那么我们这样写了之后就不会有问题, 我们就会将这个address属性值赋值为"<<宝鸡>>"
-
-
把带特殊符号的内容写到CDATA中
-
CDATA是XML中的一个语法, 其实也就是一个特殊的标签
- 具体语法为: < ! [CDATA[ 特殊字符 ] ] >
-
使用方式如下: 写到CDATA标签的内部[]中的数据不会被xml解析器所解析, 所以在CDATA标签内部的[]中是可以编写特殊字符的
<property name = "address"> <value><![CDATA[<<宝鸡>>]]></value> </property>
- 使用这种方式也可以正常的将我们的address属性值赋为: “<<宝鸡>>”
-