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 了,不浪费时间了,以后有经验了再来重写。

目录
相关文章
|
8月前
|
SQL Java 数据库连接
详解Mybatis之自动映射 & 自定义映射问题(下)
详解Mybatis之自动映射 & 自定义映射问题(下)
|
8月前
|
SQL Java 数据库连接
详解Mybatis之自动映射 & 自定义映射问题(上)
详解Mybatis之自动映射 & 自定义映射问题(上)
|
9月前
|
图形学
Unity构造器注入+配置文件小实例
Unity构造器注入+配置文件小实例
|
9月前
|
SQL Java 数据库连接
MyBatis动态数据源配置(动态配置字段,库 适合简单逻辑)
MyBatis动态数据源配置(动态配置字段,库 适合简单逻辑)
88 0
|
数据库
使用Mybatis-Plus实现对象属性自动填充功能
使用Mybatis-Plus实现对象属性自动填充功能
504 0
|
Java 容器 Spring
Bean的加载方式
Bean的加载方式 1.XML方式声明bean 2.XML+注解方式声明bean 3.注解方式声明配置类 扩展1——FactoryBean 扩展2——配置类中导入原始的配置文件(系统迁移) 扩展3——proxyBeanMethods 4.使用@Import导入要注入的bean 扩展4——使用@Import注解还可以导入配置类 5.使用上下文对象在容器初始化完毕后注入bean 6.导入实现了ImportSelector接口的类,实现对导入源的编程式处理 bean的加载方式(七) bean的加载方式(八)
|
存储 Java Spring
自定义spring注解使用
自定义spring注解使用+ThreadLocal使用
自定义spring注解使用
|
Java 测试技术 Apache
实战小技巧16:Properties配置文件自动装载JavaBean
SpringBoot的配置自动装载,使用起来还是很舒爽的,可以非常简单的将properties配置文件的内容,填充到Java bean对象中,如果我们现在是一个脱离于Springboot框架的项目,想实现上面这个功能,可以怎么来做呢?
313 0
|
Java 容器 Spring
Spring注解(六):Bean的生命周期中自定义初始化和销毁方法的四种方式
Bean的生命周期指的是Bean从被创建到初始化再被销毁的过程,IOC容器管理Bean的生命周期。在Bean的整个生命周期的过程中的初始化和销毁过程的方法可以被自定义,IOC容器当Bean进行到当前生命周期的时候调用自定义的初始化和销毁方法。在配置文件中可以通过添加init-method和destroy-method指定自定义的初始化和销毁方法
674 0
Spring注解(六):Bean的生命周期中自定义初始化和销毁方法的四种方式
|
XML Java 数据格式
Spring注入的方式
注入方式可以分为xml 方式、注解方式
626 1