• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
养眼大魔王
博客园    首页    新随笔    联系   管理    订阅  订阅

Spring常用的接口和类(三)

一、CustomEditorConfigurer类

     CustomEditorConfigurer可以读取实现java.beans.PropertyEditor接口的类,将字符串转为指定的类型。更方便的可以使用PropertyEditorSupport。PropertyEditorSupport实现PropertyEditor接口,必须重新定义setAsText。

public class Hello {
    private String message;
    private User user;
    
    public String getMessage() {
        return message;
    }
    public void setMessage(String message) {
        this.message = message;
    }
    public User getUser() {
        return user;
    }
    public void setUser(User user) {
        this.user = user;
    }
}

    自定义属性编辑器继承PropertyEditorSupport类,重写setAsText方法。

public class UserEditor extends PropertyEditorSupport{
    @Override
    public void setAsText(String text) throws IllegalArgumentException {
        //类型为User的变量声明了自定义属性编辑器,其值规定为逗号分割的字符串
        String[] arr = text.split(",");
        Integer age = new Integer(arr[1]);
        
        User user = new User();
        user.setName(arr[0]);
        user.setAge(age);
        
        setValue(user);
    }
}

    bean配置

<bean id="configBean" 
class="org.springframework.beans.factory.config.CustomEditorConfigurer"> 
    <property name="customEditors">
        <map>
            <!-- 类型为User的变量都通过UserEditor间接设值 -->
            <entry key="User">
                <bean id="userEditor" class="UserEditor"/>
            </entry>
        </map>   
    </property>
</bean> 

<bean id="hello" class="Hello"> 
    <property name="message" value="hello" /> 
    <property name="user" value="chenjumin,20"/><!-- 类型为User的变量声明了自定义属性编辑器,其值规定为逗号分割的字符串 --> 
</bean>

 

posted @ 2015-02-28 12:24  养眼大魔王  阅读(528)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3