• BeanUtils设置字段值失败问题


    package org.apache.commons.beanutils;
    
    import static org.junit.Assert.*;
    
    import java.beans.BeanInfo;
    import java.beans.IntrospectionException;
    import java.beans.Introspector;
    import java.beans.PropertyDescriptor;
    import java.lang.reflect.InvocationTargetException;
    
    import org.junit.Test;
    
    /**
     * <一句话功能简述>
     * <功能详细描述>
     * 
     * @author  Chenxiaguang
     * @version  [版本号, 2016-1-27]
     * @see  [相关类/方法]
     * @since  [产品/模块版本]
     */
    public class BeanUtilsTest
    {
    
        /**
         * Test method for {@link org.apache.commons.beanutils.BeanUtils#setProperty(java.lang.Object, java.lang.String, java.lang.Object)}.
         */
        @Test
        public void testSetProperty()
        {
            TestBeanA testBeanA = new TestBeanA();
            try
            {
                BeanInfo beanInfo = null;
                try {
                    Class<?> beanClass = TestBeanA.class;
                    beanInfo = Introspector.getBeanInfo(beanClass);
                } catch (IntrospectionException e) {
                    return;
                }
                PropertyDescriptor[] descriptors = beanInfo.getPropertyDescriptors();
                BeanUtils.setProperty(testBeanA, "Aac", "a");// fail
                BeanUtils.setProperty(testBeanA, "aac", "a");// ok
                BeanUtils.setProperty(testBeanA, "aBc", "b");// fail
                BeanUtils.setProperty(testBeanA, "ABc", "b");// ok
                BeanUtils.setProperty(testBeanA, "acc", "b");// ok
                BeanUtils.setProperty(testBeanA, "D", "b");// fail
                BeanUtils.setProperty(testBeanA, "d", "b");// ok
            }
            catch (IllegalAccessException e)
            {
                e.printStackTrace();
            }
            catch (InvocationTargetException e)
            {
                e.printStackTrace();
            }
        }
    
    }

    用于测试的bean

    package org.apache.commons.beanutils;
    
    /**
     * <一句话功能简述>
     * <功能详细描述>
     * 
     * @author  Chenxiaguang
     * @version  [版本号, 2016-1-27]
     * @see  [相关类/方法]
     * @since  [产品/模块版本]
     */
    public class TestBeanA
    {
    
        private String Aac;
        
        private String ABc;
        
        private String acc;
        
        private String D;
    
        public String getAac()
        {
            return Aac;
        }
    
        public void setAac(String aac)
        {
            Aac = aac;
        }
    
        public String getABc()
        {
            return ABc;
        }
    
        public void setABc(String aBc)
        {
            ABc = aBc;
        }
    
        public String getAcc()
        {
            return acc;
        }
    
        public void setAcc(String acc)
        {
            this.acc = acc;
        }
    
        public String getD()
        {
            return D;
        }
    
        public void setD(String d)
        {
            D = d;
        }
        
        
    }
    --EOF--
  • 相关阅读:
    usb驱动开发6之端点描述符
    usb驱动开发5之总线设备与接口
    usb驱动开发4之总线设备驱动模型
    usb驱动开发3之先看core
    usb驱动开发2之代码地图
    usb驱动开发1之学习准备
    javascript限制上传文件大小
    google Chrome打开多个网站时等待可用的套接字,怎么加大连接数量提升速度
    sql将一张表的字段赋值给另一张表
    百度搜索网址参数的含义
  • 原文地址:https://www.cnblogs.com/simoncook/p/5163093.html
Copyright © 2020-2023  润新知