美文网首页
Bean转化成map工具类

Bean转化成map工具类

作者: Perfect_0c38 | 来源:发表于2018-11-20 10:09 被阅读0次

/** * 应用反射(其实工具类底层一样用的反射技术) * 手动写一个 Bean covert to Map */

public static void autoBeanToMap(Map map, Object clazz){

Method[] methods=clazz.getClass().getMethods();

try {

for(Method method: methods){

String methodName=method.getName();//反射获取属性与属性值的方法很多,以下是其一;也可以直接获得属性,不过获取的时候需要用过设置属性私有可见

         if (methodName.contains("get")){

//invoke 执行get方法获取属性值

                Object value=method.invoke(clazz);

//根据setXXXX 通过以下算法取得属性名称

                String key = methodName.substring(methodName.indexOf("get") +3);

Object temp = key.substring(0,1).toString().toLowerCase();

key = key.substring(1);

//最终得到属性名称

                key = temp + key;

map.put(key,value);

}

}

}catch (Exception e){

log.error("错误信息:",e);

}

log.info(JSONObject.toJSONString(map));

}

public static void main(String[] args) {

try {

//beanToMap();

        User user=new User();

Map keyValues=new HashMap<>();

user.setPassword("password");

user.setComments("test method!");

user.setUserName("wang shisheng");

user.setCreateTime("2018-12-12");

autoBeanToMap(keyValues,user);

}catch (Exception e) {

e.printStackTrace();

}

}

jar:

<dependency>

    <groupId>commons-beanutils</groupId>

    <artifactId>commons-beanutils</artifactId>

    <version>1.9.3</version>

</dependency>

相关文章

网友评论

      本文标题:Bean转化成map工具类

      本文链接:https://www.haomeiwen.com/subject/xfjxfqtx.html