1.spring属性的注入配置

  1. 1.      属性的注入配置

Bean文件的配置,即为bean的各属性赋值

 

<bean id="sone" class="edu.yzu.entity.Student" init-method="initialMethod" parent="sbean" >

<!—- init-method指定了该bean类初始化后用来验证属性是否合法,该方法会在属性设置结束后调用 ,

Parent是指本bean中的一些属性如果没有初始化则会以sbean中的相同属性名的对应值来初始化--!>

       <property name="id" value="10002" />

       <property name="name" value="Rose" />

       <property name="sex" value="boy" />

       <property name="age" value="23" />

       <property name="birthday" value="1980-10-24" />

       <property name="emails">

           <list>

              <value>123@qq.com</value>

              <value>456@sina.com</value>

              <value>789@163.com</value>

           </list>

       </property>

       <property name="phones">

//list或者数组类型的属性注入

           <list>

              <value>13657164847</value>

              <value>15901083941</value>

              <value>13797502137</value>

           </list>

       </property>

       <property name="scores">

//为map指定 key value属性指定一般类型,key-ref  value-ref指定的是bean引用

           <map>

              <entry key="math" value="97" />

              <entry key="chinese" value="96" />

              <entry key="englist" value="92" />

           </map>

       </property>

 

       <property name="classmates">

//set类型的属性注入

           <set>

              <ref local="sone" />

<!-- 表时此值并非String int 等原始类型,local指明这个值是本配置文件的一个bean -à

              <ref local="myself" />

           </set>

       </property>

    </bean>

  1. 非自动类型转换

对bean属性的注入过程中,如果一些类型不能注入,则可以类型转换,自定义转换该类型的转换器,如上面的birthday属性是日期性的,spring 不能自动注入该类型,则自定义转换器如下:

public class myDateEditor extends PropertyEditorSupport {

    @Override

    public void setAsText(String text) throws IllegalArgumentException {

       try {

           SimpleDateFormat format = new SimpleDateFormat("yyyy-mm-dd");

           Date date = format.parse(text);

           setValue(date);

       } catch (ParseException e) {

           e.printStackTrace();

           new IllegalAccessException(e.getMessage());

       }

    }

}

 

 

 

 

 

 

配置文件如下 :只要这样配置后spring 遇到java.util.Date类型后会自动调用上面的转换器,注入bean属性

 

    <bean id="myeditor"

       class="org.springframework.beans.factory.config.CustomEditorConfigurer">

       <property name="customEditors">

           <map>

              <entry key="java.util.Date">

                  <bean id="dateEditor" class="edu.yzu.editor.myDateEditor" />

              </entry>

           </map>

       </property>

    </bean>

posted @ 2010-05-03 17:26  沉兮  阅读(1092)  评论(0编辑  收藏  举报