spring 配置文件中的<value></value>,常嵌套在其它标签中使用,比如<property>,<key>,<list>,<set>,<entry>等,很多人习惯上认为它只是表示其它标签的"值"。其实,它还有另一种含义:表示“类型”,写在<value></value>中的内容在spring中被认为是简单数据类型,即字符串或数字。因此,在应用中它不会用来处理Java类中的复杂数据类型,它也不能处理复杂数据类型。比如:
 
Java类:
public class Student {
  private String comp;
  private Computer c;
  private List<Computer> computers;

  //一系列的setter.getter方法
}
  
 
属性类:
public class Computer {
  private String name;
  private Integer price; 

  //一系列的setter.getter方法

}
 
配置文件:
<beans>
  <bean id="computer" class="com.yangfei.spring.entity.Computer">
    <property name="name">
      <value>DELL</value>
    </property>
    <property name="price">
      <value>100</value>
    </property>
  </bean>
  <bean id="student" class="com.yangfei.spring.entity.Student">

    <property name="comp">
      <value>computer</value> <!--这里它不认为computer是bean,而是当作字符串"computer"来处理-->
    </property>
    <property name="c">
      <ref bean="computer" />
        <!--    
        <value>computer</value>这样写会报错
        
--> 
 
    </property>
    <property name="computers">
      <list>
        <ref bean="computer" />
        <!--    
        <value>computer</value> 这样写也会报错
        
-->
      </list>
    </property>