基于Java反射中map自动装配JavaBean工具类的示例分析
                                            这篇文章主要介绍了基于Java反射中map自动装配JavaBean工具类的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

从事资阳移动机房,服务器租用,云主机,虚拟空间,国际域名空间,CDN,网络代维等服务。
方法如下
我们平时在用Myabtis时不是常常需要用map来传递参数,大体是如下的步骤:
public ListfindRoles(Map param); //我们常常需要手打这些字段名 Map map = new HashMap<>(); map.put("roleName","xiaoming"); map.put("note","10"); List roles = roleMapper.findRoles(map); 
但如果需要put的字段很多,而且每个属性名都很长的时候,那就很难受了,这里可以采用Java反射的方法去自动装配map,以下是博主的实现:
public class Test {
  //实现效果
  public static void main(String[] args) {
    HashMap map = new HashMap<>();
    Person person1 = new Person();
    person1.setAge(2);
    person1.setName("foonsu");
    //调用写好的mapBuild自动装配
    mapBuild(person1, map);
    //输出效果
    for (Map.Entry entry : map.entrySet()) {
      System.out.println(entry.getKey() + ":" + entry.getValue());
    }
  }
  public static void mapBuild(Object javaBean, Map map) {
    Class clazz = javaBean.getClass();
    //反射获取
    Field[] name = clazz.getDeclaredFields();
    for (Field field : name) {
      //将非null的javaBean属性值装配到map中
      if (getGetMethod(javaBean,field.getName())!=null)
        map.put(field.getName(), getGetMethod(javaBean,field.getName()));
    }
  }
  /**
   * 根据属性,获取get方法
   */
  public static Object getGetMethod(Object ob, String name) {
    Method[] m = ob.getClass().getMethods();
    try {
      for (int i = 0; i < m.length; i++) {
        if (("get" + name).toLowerCase().equals(m[i].getName().toLowerCase())) {
          return m[i].invoke(ob);
        }
      }
    } catch (Exception e) {
    }
    return null;
  }
}
class Person{
  int age;
  String name;
  String personId;
  public String getPersonId() {
    return personId;
  }
  public void setPersonId(String personId) {
    this.personId = personId;
  }
  public int getAge() {
    return age;
  }
  public void setAge(int age) {
    this.age = age;
  }
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
} 感谢你能够认真阅读完这篇文章,希望小编分享的“基于Java反射中map自动装配JavaBean工具类的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!
分享名称:基于Java反射中map自动装配JavaBean工具类的示例分析
标题URL:http://www.jxjierui.cn/article/peghoh.html

 建站
建站
 咨询
咨询 售后
售后
 建站咨询
建站咨询 
 