JavaBean 反射机制实现自动配置数据

简介:

声明:该版本是没完成的。该博文只做记录代码用

    String memberType(String name) throws Exception
    {
        return getType(getClass().getField(name));
    }

    public static DiaryInfo parse(JSONObject data) {
        if (data == null) return null;
        DiaryInfo info = new DiaryInfo();
        String name;
        Method action;
        Object value;
        Iterator<String> keys = data.keys();
        try {
            while (keys.hasNext()) {
                name = keys.next();
                value = data.get(name);
                action = info.getClass().getMethod("set" + ZHelper.ucfirst(name), String.class);
                action.invoke(info.getClass(), value);
            }
        } catch (JSONException e) {
            AppException.json(e);
        } catch (NoSuchMethodException e) {
            AppException.run(e);
        } catch (InvocationTargetException e) {
            AppException.run(e);
        } catch (IllegalArgumentException e) {
            AppException.run(e);
        } catch (IllegalAccessException e) {
            AppException.run(e);
        }
        return info;
    }

对JAVA 没什么经验,弄出了上面的代码,但是被 invoke 的参数类型郁闷,本来是想写个同名 Object 参数的 set 方法,然后自己转换数据类型,但觉得太麻烦了。后来我又想通过获取类中的 成员变量的类型来动态给 invoke 的参数值,但发现搞不定,很费时间,还是只有先 if else if 了,不浪费时间了,以后有经验了再来重写。

目录
相关文章
|
Java Spring 容器
简单存 Bean 对象 -- 五大类注解以及 Bean 方法(下)
简单存 Bean 对象 -- 五大类注解以及 Bean 方法(下)
104 0
|
设计模式 Java 开发者
Spring框架中JavaBean的生命周期及单例模式与多列模式
Spring框架中JavaBean的生命周期及单例模式与多列模式
142 0
|
存储 Java Spring
简单存 Bean 对象 -- 五大类注解以及 Bean 方法(上)
简单存 Bean 对象 -- 五大类注解以及 Bean 方法(上)
|
Java C++ Spring
Spring更简单的实现Bean对象的存取(利用注解储存和注入Bean对象)(下)
Spring更简单的实现Bean对象的存取(利用注解储存和注入Bean对象)(下)
135 0
|
存储 Java Spring
Spring更简单的实现Bean对象的存取(利用注解储存和注入Bean对象)(上)
Spring更简单的实现Bean对象的存取(利用注解储存和注入Bean对象)(上)
141 0
|
存储 XML Java
Spring五大类注解读取存储Bean对象
我们之前注册bean是通过在xml配置文件中,通过键值对的方式注册bean对象! 显然这种方式很麻烦,注册一个对象,就要添加一项! 有没有什么好的方式可以让spring直接去注册对象! yes! 我们可以直接在配置文件配置好 spring下你要注册对象的包时那个! 当spring启动后,spring就会将bean对象自动注册!
473 0
Spring五大类注解读取存储Bean对象
|
druid Java 关系型数据库
避坑指南:Spring配置数据源的三种方式
避坑指南:Spring配置数据源的三种方式
避坑指南:Spring配置数据源的三种方式
|
Java 测试技术 Apache
实战小技巧16:Properties配置文件自动装载JavaBean
SpringBoot的配置自动装载,使用起来还是很舒爽的,可以非常简单的将properties配置文件的内容,填充到Java bean对象中,如果我们现在是一个脱离于Springboot框架的项目,想实现上面这个功能,可以怎么来做呢?
385 0
|
Java Linux Windows
JAVA对象,直接新建跟反射新建,有区别
JAVA对象,直接新建跟反射新建,有区别
119 0
艾伟:C#3.0之自动属性和对象初始化器
  C#3.0中定义属性更加方便,不用再在像之前的版本那样的繁琐,需要先定义存储数据的字段,然后再定义属性器,现在只需要定义属性器就可以了,其它的有编译器自动为我们完成,就可以省去定义字段时需要的那些时间;在对象初始化的时候我们可在对象构造的时候实现对象属性的初始化工作,和集合初始化类似。
773 0