spring-属性编辑器

 Spring 中通过beans.xml文件创建对象的方式, 通过property标签给对象属性赋值时. 所有的值都是作为字符串读入.对于不同的属性类型有不同的处理方式.

 1- String类型属性可以直接接收.

2- 四类八种基本数据类型可以直接接收.

 3- 除String以外的所有自定义数据类型不可以直接接收.

 通过beans文件给属性赋初值的技术方法叫做注入, String及四类八种基本数据类型的注入方式为值注入,当属性为对象时需要有两种处理方法:

1-      beans文件中对象注入---两种方式

 (1)    在property标签中嵌套bean标签,在bean标签中创建对象,可以同时赋初值;

 (2)    通过DI(依赖注入)方式,使用ref标签通过id链接到指定对象的bean标签

2-      属性编辑器+beans值注入---步骤如下

 (1)    创建属性编辑类,该类需要继承自PropertyEditorSupport父类;

 (2)    重写父类中setAsText方法,该方法参数列表接收一个String类型数据,该数据就是property标签中的value

 (3)    处理接收到的value值, 并通过这些值创建一个指定类型的对象

 (4)    在setAsText方法中调用setValue方法,将上一步创建的对象作为参数传给该方法.

 (5)    在beans.xml文件中添加创建的编辑器的类, 通过bean标签

 

    <bean id="birdEditor"class="com.wx.pojo.BirdEditor"></bean>

    <bean id="dateEditor"class="com.wx.pojo.DateEditor">

        <property name="format" value="yyyy-MM-dd"/>

    </bean>

 

 (6)    在beans.xml文件中添加一个Spring框架中的类, 名为CustomerEditorConfigurer, 该类中有一个Map型参数,其中键为属性的包名点类名,值为第五部中创建的编辑器对象的id:

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

        <property name="customEditors">

            <map>

                <entry key="com.wx.entity.Bird" value-ref="birdEditor"/>

                <entry key="java.util.Date" value-ref="dateEditor"></entry>

 

            </map>

        </property>

</bean>

 (7)    通过正常值注入的方式书写对象属性,需要注意这里value需要符合编辑其中解析字符串的规则书写.如不同的基本属性通过逗号隔开.

 

<property name="bird" value="1,小樱"/>

<property name="creatDate" value="2018-01-29"/>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值