`
shihuan830619
  • 浏览: 575053 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

用JAVA Bean 反射得到set,get方法

    博客分类:
  • J2SE
阅读更多
/**   

 * java反射bean的get方法   

 *    

 * @param objectClass   

 * @param fieldName   

 * @return   

 */     

@SuppressWarnings("unchecked")     

public static Method getGetMethod(Class objectClass, String fieldName) {     

    StringBuffer sb = new StringBuffer();     

    sb.append("get");     

    sb.append(fieldName.substring(0, 1).toUpperCase());     

    sb.append(fieldName.substring(1));     

    try {     

        return objectClass.getMethod(sb.toString());     

    } catch (Exception e) {     

    }     

    return null;     

}     

     

/**   

 * java反射bean的set方法   

 *    

 * @param objectClass   

 * @param fieldName   

 * @return   

 */     

@SuppressWarnings("unchecked")     

public static Method getSetMethod(Class objectClass, String fieldName) {     

    try {     

        Class[] parameterTypes = new Class[1];     

        Field field = objectClass.getDeclaredField(fieldName);     

        parameterTypes[0] = field.getType();     

        StringBuffer sb = new StringBuffer();     

        sb.append("set");     

        sb.append(fieldName.substring(0, 1).toUpperCase());     

        sb.append(fieldName.substring(1));     

        Method method = objectClass.getMethod(sb.toString(), parameterTypes);     

        return method;     

    } catch (Exception e) {     

        e.printStackTrace();     

    }     

    return null;     

}     

     

/**   

 * 执行set方法   

 *    

 * @param o执行对象   

 * @param fieldName属性   

 * @param value值   

 */     

public static void invokeSet(Object o, String fieldName, Object value) {     

    Method method = getSetMethod(o.getClass(), fieldName);     

    try {     

        method.invoke(o, new Object[] { value });     

    } catch (Exception e) {     

        e.printStackTrace();     

    }     

}     

     

/**   

 * 执行get方法   

 *    

 * @param o执行对象   

 * @param fieldName属性   

 */     

public static Object invokeGet(Object o, String fieldName) {     

    Method method = getGetMethod(o.getClass(), fieldName);     

    try {     

        return method.invoke(o, new Object[0]);     

    } catch (Exception e) {     

        e.printStackTrace();     

    }     

    return null;     

}
分享到:
评论
1 楼 spp_1987 2013-10-23  
看不懂 。。。。。

相关推荐

    Java Ioc例子,基于反射.rar

    Java Ioc例子,基于反射,PS:lfioc能够自动识别set、get方法,比如set字段a时,a、A、setA三种写法在lfioc中都是允许的。以字符串方式获得Bean实例,为Bean中setA注入数据,为setB注入数据,获得IBean接口。

    Java常见面试题208道.docx

    面试题包括以下十九部分:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql...

    java面试题

    84.9. 题目1:用1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列,如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连. 117 84.10. 写一个方法,实现字符串的反转,如:输入...

    史上最全java面试,103项重点知识,带目录

    一、Java 基础 1 1. JDK 和 JRE 有什么区别? 1 2. == 和 equals 的区别是什么? 1 3. 两个对象的 hashCode()相同,则 equals()也一定为 true,对吗? 3 4. final 在 java 中有什么作用? 4 5. java 中的 Math.round...

    eclipse安卓开发必备工具

    } } } 也是如我所想 抛出java.lang.IllegalAccessException异常,当时就怀疑Spring框架是否使用反射的一些特性,后来查了相关文档才知 道原因何在: 实际上java在反射创建一个类的实例时,默认会检测是否符合相关...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

     8.4.2 Session的load()和get()方法  8.4.3 Session的update()方法  8.4.4 Session的saveOrUpdate()方法  8.4.5 Session的merge()方法  8.4.6 Session的delete()方法  8.4.7 Session的replicate()方法  8.5 ...

    将 Flex 集成到 Java EE 应用程序的最佳实践(完整源代码)

    现有的 Java EE 应用 假定我们已经拥有了一个管理雇员信息的 Java EE 应用,名为 EmployeeMgmt-Server,结构如 图 1 所示: 图 1. Java EE 工程结构 这是一个典型的 Java EE 应用,使用了流行的 Spring 框架。...

    DWR.xml配置文件说明书(含源码)

    仅仅通过反射方法没有办法知道集合元素中的类型,所以上面的两个converter能将任何集合转换成相对javascript而言有意义的对象.然而没有办法将不同的集合类类型分别采用不同的转换方法.因为没有办法完全自动进行转换,...

    +Flex+集成到+Java+EE+应用程序的最佳实践(完整源代码)

    资源简介现有的 Java EE 应用 假定我们已经拥有了一个管理雇员信息的 Java EE 应用,名为 EmployeeMgmt-Server,结构如 图 1 所示: 图 1. Java EE 工程结构 这是一个典型的 Java EE 应用,使用了流行的 ...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part4

     8.4.2 Session的load()和get()方法  8.4.3 Session的update()方法  8.4.4 Session的saveOrUpdate()方法  8.4.5 Session的merge()方法  8.4.6 Session的delete()方法  8.4.7 Session的replicate()方法  8.5 ...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part3

     8.4.2 Session的load()和get()方法  8.4.3 Session的update()方法  8.4.4 Session的saveOrUpdate()方法  8.4.5 Session的merge()方法  8.4.6 Session的delete()方法  8.4.7 Session的replicate()方法  8.5 ...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part1.rar

     8.4.2 Session的load()和get()方法  8.4.3 Session的update()方法  8.4.4 Session的saveOrUpdate()方法  8.4.5 Session的merge()方法  8.4.6 Session的delete()方法  8.4.7 Session的replicate()方法  8.5 ...

    Spring面试题

    3. hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。 4. hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。 2. ...

    springmybatis

    其实还有更简单的方法,而且是更好的方法,使用合理描述参数和SQL语句返回值的接口(比如IUserOperation.class),这样现在就可以至此那个更简单,更安全的代码,没有容易发生的字符串文字和转换的错误.下面是详细...

Global site tag (gtag.js) - Google Analytics