zoukankan      html  css  js  c++  java
  • Spring DataBinder

    两种构造方式创建数据绑定组件:

    /**
     * Create a new DataBinder instance, with default object name.
     * @param target the target object to bind onto (or {@code null}
     * if the binder is just used to convert a plain parameter value)
     * @see #DEFAULT_OBJECT_NAME
     */
    public DataBinder(@Nullable Object target) {
    	this(target, DEFAULT_OBJECT_NAME);
    }
    
    /**
     * Create a new DataBinder instance.
     * @param target the target object to bind onto (or {@code null}
     * if the binder is just used to convert a plain parameter value)
     * @param objectName the name of the target object
     */
    public DataBinder(@Nullable Object target, String objectName) {
    	this.target = ObjectUtils.unwrapOptional(target);
    	this.objectName = objectName;
    }
    

      

    说明:

    or null if the binder is just used to convert a plain parameter value【 如果仅使用数据绑定组件的类型转换功能,则可以将target对象设置为null。】

    类型转换功能(实现了TypeConvert[org.springframework.beans.TypeConverter]接口,因此拥有类型转换功能):  
    @Nullable
    <T> T convertIfNecessary(@Nullable Object value, @Nullable Class<T> requiredType) throws TypeMismatchException;
    
    @Nullable
    <T> T convertIfNecessary(@Nullable Object value, @Nullable Class<T> requiredType,
    		@Nullable MethodParameter methodParam) throws TypeMismatchException;
    
    @Nullable
    <T> T convertIfNecessary(@Nullable Object value, @Nullable Class<T> requiredType, @Nullable Field field)
    		throws TypeMismatchException;
    
    @Nullable
    default <T> T convertIfNecessary(@Nullable Object value, @Nullable Class<T> requiredType,
    		@Nullable TypeDescriptor typeDescriptor) throws TypeMismatchException {
    
    	throw new UnsupportedOperationException("TypeDescriptor resolution not supported");
    }
    

      

    使用方式:

    DataBinder db = new DataBinder(null);
    
    Integer s = db.convertIfNecessary("324", Integer.class);
    Double aDouble = db.convertIfNecessary("234.32", Double.class);
    Integer integer = db.convertIfNecessary(1232.633, Integer.class);
    Integer[] integers = db.convertIfNecessary(new String[]{"123", "456"}, Integer[].class);
    

      






  • 相关阅读:
    Sparrow 开发板化身电脑音量调节器
    我的第一台台式机
    DFRobot万物互联大赛第二轮
    DFRobot万物互联大赛第一轮
    RPi Cam v2 之一:基础及牛刀小试
    Galileo Gen2 之MQTT通讯
    路飞学城Python爬虫课第一章笔记
    Micro:Bit手柄试用之一MagicPad (解决蓝牙与gamePad包共存)
    PocketBeagle 初高级设置
    EVB-P6UL:一识庐山真面目
  • 原文地址:https://www.cnblogs.com/hfultrastrong/p/12166642.html
Copyright © 2011-2022 走看看