前言
Spring
框架中,在通过set
方式进行属性注入时,可能会遇到某些特殊字符的注入,例如:null
和某些标签字符“<>”
等。此时需要用到与普通属性注入不同的方式。
创建测试类
package com.action.spring;
public class Book {
private String bname;
private String bauthor;
private String address;
public void setBname(String bname){
this.bname = bname;
}
public void setBauthor(String bauthor){
this.bauthor = bauthor;
}
public void setAddress(String address){
this.address = address;
}
public void testBook(){
System.out.println(bname+"::"+bauthor+"::"+address);
}
}
其他类型属性
1、字面量
(1)null值
采用标签的形式,使用set
方式进行属性注入。
<bean id="book" class="com.action.spring.Book">
<!--
name:类里面属性名称;
value:向属性中注入的值;
-->
<property name="bname" value="易筋经"></property>
<property name="bauthor" value="少林和尚"></property>
<property name="address" >
<null/>
</property>
</bean>
运行结果:
(2)特殊字符注入
在XML
中通过value
属性直接注入的话,特殊字符并不能正确的显示而是会被转译成其他形式,比如<>
就会被当做标签处理从而报错。此时需要用到![CDATA[]]
方法来包裹属性值。
<bean id="book" class="com.action.spring.Book">
<!--
name:类里面属性名称;
value:向属性中注入的值;
-->
<property name="bname" value="易筋经"></property>
<property name="bauthor" value="少林和尚"></property>
<!-- <property name="address" >
<null/>
</property> -->
<property name="address" >
<value><![CDATA[<<特殊字符>>]]></value>
</property>
</bean>
运行结果: