BeanUtils把 MAP 的值 给Bean ,报 LOG 空指针错。

发布于 2021-11-16 14:17:33 字数 3009 浏览 732 评论 4

public static void main(String[] args) {
		User user = new User();
		user.setUserId(33);
		user.setUserName("xiaom");
		user.setUserPwd("mmm");
		user.setRealName("小明");
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("userName", "cacaca");
		map.put("userId", 55);
		map.put("userPwd", "xxx");
		map.put("realName", "ddd");

		try {
			String userString = JSONUtil.serialize(user);
			System.out.println(userString);

			String mapString = JSONUtil.serialize(map);
			System.out.println(mapString);

			Object o = JSONUtil.deserialize(mapString);
			
			System.out.println(o.getClass());
			System.out.println(o);
			
			BeanUtils.populate(user,map );
		} catch (JSONException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (InvocationTargetException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

报错如下:

{"realName":"小明","status":0,"userId":33,"userName":"xiaom","userPwd":"mmm"}
{"userPwd":"xxx","userId":55,"userName":"cacaca","realName":"ddd"}
class java.util.HashMap
{userId=55, userPwd=xxx, userName=cacaca, realName=ddd}
Exception in thread "main" java.lang.ExceptionInInitializerError
    at com.aoke.cgms.action.UserAction.main(UserAction.java:94)
Caused by: com.sun.org.apache.commons.logging.LogConfigurationException: com.sun.org.apache.commons.logging.LogConfigurationException: java.lang.NullPointerException (Caused by java.lang.NullPointerException) (Caused by com.sun.org.apache.commons.logging.LogConfigurationException: java.lang.NullPointerException (Caused by java.lang.NullPointerException))
    at com.sun.org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:543)
    at com.sun.org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
    at com.sun.org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:209)
    at com.sun.org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351)
    at com.sun.org.apache.commons.beanutils.BeanUtils.<clinit>(BeanUtils.java:111)
    ... 1 more
Caused by: com.sun.org.apache.commons.logging.LogConfigurationException: java.lang.NullPointerException (Caused by java.lang.NullPointerException)
    at com.sun.org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:397)
    at com.sun.org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529)
    ... 5 more
Caused by: java.lang.NullPointerException
    at com.sun.org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:374)
    ... 6 more

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

无人问我粥可暖 2021-11-17 17:16:53

发现,这个bean 必须是public的,如果是一个内部类也是不行的

伴我心暖 2021-11-17 17:12:03

看你的 main 方法,应该是在 UserAction 里面,action 肯定不能直接这个用 main 方法测试啊。

惜醉颜 2021-11-17 16:17:38

哦。我用的是JSONUtils是Struts2 的莫非只能启动起来用。

屌丝范 2021-11-17 05:45:33

这段代码本身应该是没错误的,看那个异常是log的配置异常 LogConfigurationException

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文