欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用BeanUtils操作javabean

程序员文章站 2022-05-02 09:53:49
...

由于java内部提供的BeanInfo操作JavaBean时比较麻烦,于是在Apache官网上出现了BeanUtils,此工具简化了我们队JavaBean属性等的操作,同时还提供了一些比较使用强大的工具。

 

提醒:在使用BeanUtils前需要导入另外一个包commons-logging,否则可能会出现不能运行的情况,因为BeanUtils中用到了此包。

 

BeanUtils操作bean的属性非常方便,如下:

 

//定义类的对象
		Person p = new Person();
		//设置该对象的属性,参数分别为:待设置属性的对象,属性名称,属性值(可传任意类型,自动转化)
		BeanUtils.setProperty(p, "name", "xxxx");//设置人的名字
		BeanUtils.setProperty(p, "age", "12");//自动将string转化为int型,只支持8种数据类型
		BeanUtils.setProperty(p, "address", "四川达州");
		BeanUtils.setProperty(p, "birthday", "1991-11-23");
		System.out.println(p.getName());
		System.out.println(p.getAge());
		System.out.println(p.getBirthday());
		System.out.println(p.getAddress());

 不仅如此,还可以采用map的形式来设置Bean的属性:

Map map = new HashMap<>();
		map.put("name", "suse");
		map.put("age", "13");
		map.put("address", "四川 自贡");
		map.put("birthday", "1992-11-22");
		
		ConvertUtils.register(new DateLocaleConverter(), Date.class);//注册转化器,将按照本地格式转化为日期对象
		
		Person p = new Person();
		
		BeanUtils.populate(p, map);//用map集合中的值,填充bean的属性
		
		System.out.println(p.getName());
		System.out.println(p.getAge());
		System.out.println(p.getBirthday());
		System.out.println(p.getAddress());

 同时BeanUtils以提供了帮助文档以及源码下载,

官方下载地址:http://commons.apache.org/proper/commons-beanutils/