Spring框架中XML配置特殊属性注入

Spring框架中XML配置特殊属性注入

前言

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>

运行结果:

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/jerrygaoling/article/details/108637602