BeanUtils工具

  大对数人习惯使用JavaBean的get和set方法来获取和设置JavaBean的属性,但是在Java EE编程的过程中,会经常从配置文件中读取数据,但是从配置文件中读取的数据都是String类型,但是程序并不是只有一种String类型,还有一些自定义的类型,因此,我们将字符串转为特定的数据类型,方法有两种:

  1.首先,判断需要的数据类型,然后对字符串调用相关的方法,将其转换为我们需要的数据类型。

  2.使用BeanUtils工具;

  第一种方法太过繁琐,使用第二种方法只需使用其中两个方法就,即可。

BeanUtils工具解决的主要问题:

  把对象的属性数据封装到对象中。

BeanUtils工具使用需要的包:

  1.commons-beanutils-1.9.2.jar;

  2.commons-logging-1.2.jar;

BeanUtils类发常用方法:

  static void populate(Object bean,Map<String,?exteds Object>properties):根据指定的名称/值对为相应的JavaBean属性设置属性值。

  static void setProperty(Object bean,String name,Object value): 设置指定的属性,传入的类型要求能转换为相应的类型

  static String getProperty(Object bean,String name):返回指定Bean指定属性的值,返回类型是String类型。

BeanUtils的实例:

  设置一个Person类:

package cn.it.gan.BeanUtilsDemo;

public class Person {
private String naem;
private int age; public Person() { } public Person(String naem, int age) {
super();
this.naem = naem;
this.age = age;
} public String getNaem() {
return naem;
} public void setNaem(String naem) {
this.naem = naem;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} }

  设置一个BeanUtilsDemo类测试BeanUtils工具

package cn.it.gan.BeanUtilsDemo;

import java.lang.reflect.InvocationTargetException;
import java.util.HashMap;
import java.util.Map; import org.apache.commons.beanutils.BeanUtils; public class BeanUtilsDemo {
public static void main(String[] args) throws Exception, InvocationTargetException {
Person p = new Person();
// 使用BeanUtils来为p赋值
BeanUtils.setProperty(p, "naem", "Jack");
BeanUtils.setProperty(p, "age", 29);
// 使用BeanUtils工具获得p的值
String name = BeanUtils.getProperty(p, "naem");
String age = BeanUtils.getProperty(p, "age");
System.out.println("姓名为:" + name + ", 年龄为:" + age); // 创建Map集合,用来存放属性
Map map = new HashMap<String, Object>();
map.put("naem", "张三");
map.put("age", 30);
// 使用populate()方法来设置属性
BeanUtils.populate(p, map);
System.out.println("姓名为:" + p.getNaem() + ", 年龄为:" + p.getAge()); } }

  运行结果:

注意:使用setProperty给赋值的话,少赋值一个属性的话是不会报错的,只会是null,多给一个没有的属性赋值的话也不会报错,只是不会赋值进去而已;

  使用map集合赋值时,要求Map的Key和JavaBean的属性名时一致的。

最新文章

  1. 使用Navicat在oracle XE上新建表空间、用户及权限赋予
  2. JSLint检测Javascript语法规范
  3. 常用doc命令
  4. Spring初始化 Map 和 解析Json value
  5. 网络流(最大流) HDU 1565 方格取数(1) HDU 1569 方格取数(2)
  6. Linux学习 -- 服务管理
  7. HDFS读写程序小测试
  8. NSString的几个方法(rangeOfString,hasPrefix,hasSuffix,改变大小写...)
  9. Qt 地址薄 (一) 界面设计
  10. javaScript的一些奇妙动画
  11. JavaWeb之原生数据库连接
  12. python3+django2 开发易语言网络验证(中)
  13. Java的动态代理
  14. 使用JavaScript实现单向链表
  15. [leetcode]224. Basic Calculator
  16. Linux top、VIRT、RES、SHR、SWAP(S)、DATA Memory Parameters Detailed
  17. PHP合并数组及去重
  18. 异构无线网络之QOS简介
  19. IOS safari 浏览器 时间乱码(ios时间显示NaN) 问题解决
  20. java 下载网络图片

热门文章

  1. Vulkan 之 Layers
  2. c# 多张图片合成一张图片
  3. javascript如何获取复选框中的值?
  4. MySQL8.0安装caching_sha2_password问题
  5. Maven:java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
  6. LeetCode简单题汇总
  7. mysql+MHA高可用 (一主双从)
  8. Codeforces 405E DFS
  9. 利用京东云Serverless服务快速构建5G时代的IoT应用
  10. POJ 1836:Alignment