IT辅导娱乐网| 蜘蛛地图| 所有文章|
Java BeanUtils使用方法详解 - IT辅导
  • 首页
  • IT技术 IT辅导资源网设计图
    • DVWA靶场
    • sqli-lab靶场
  • 源码基地
  • 软件分享 IT辅导资源网设计图
    • 辅助软件
  • emlog教程
  • 白嫖活动
  • 网络技巧 IT辅导资源网设计图
    • seo教程
  • 编程教程
  • 值得看一看 IT辅导资源网设计图
    • 值得听一听
    • 读懂世界
    • 活动线报
  • 更多功能 IT辅导资源网设计图
    • 在线投稿
    • 公告动态
    • 广告合作
    • 匿名投稿


登录后,享受更多优质服务哦
IT辅导资源网站长qq头像
欢迎回来,可爱的会员!个人中心退出登录
导航菜单
  • 首页
  • IT技术
    • DVWA靶场
    • sqli-lab靶场
  • 源码基地
  • 软件分享
    • 辅助软件
  • emlog教程
  • 白嫖活动
  • 网络技巧
    • seo教程
  • 编程教程
  • 值得看一看
    • 值得听一听
    • 读懂世界
    • 活动线报
  • 更多功能
    • 在线投稿
    • 公告动态
    • 广告合作
    • 匿名投稿

Java BeanUtils使用方法详解

2020/8/27 五年级扛把子 
介绍

    BeanUtils工具类是方便我们对JavaBean进行操作的工具,在java开发中很实用,比如属性拷贝,简化了操作,提高了开发效率,下面就来详细了解一下吧!!!

BeanUtils对JavaBean的常用操作

  1. BeanUtils可以对javaBean的属性进行赋值。

  2. BeanUtils可以将一个MAP集合的数据拷贝到一个javabean对象中。

  3. BeanUtils可以对javaBean的对象进行赋值。

BeanUtils使用步骤

步骤一:项目中导入commons-beanutils.jar包

步骤二:在项目中就可以使用对javaBean的一些相关操作,比如:

    1). 给对象赋值:BeanUtils.setProperty(对象, 属性名, 属性值);

    2). 把一个javaBean的属性拷贝到另一个javaBean对象中: BeanUtils.copyProperties(源对象,新对象);

    ...

BeanUtils 常用方法  

 常用方法描述 
 copyProperties(Object dest, Object orig) 对象拷贝
 copyProperty(Object bean, String name, Object value) 指定属性拷贝到指定的对象中
 cloneBean(Object bean) 对象的克隆
 populate(Object bean, Map<String,? extends Object> properties) 将map数据拷贝到javabean中(map的key要与javabean的属性名称一致)
 setProperty(Object bean, String name, Object value) 设置指定属性的值

案例

 1.创建一个学生实体类(Student.java)

public class Student{
private String name; private int age; private String sex; public Student() {
} getXxx和setXxx省略…… }

2.测试BeanUtils的常见用法

@Test
public void BeanUtilsTest() throws Exception {
Map<String, Object> map = new HashMap<String, Object>();
map.put("name", "张三");
map.put("age", 12);
map.put("sex", "男");
// 将map数据拷贝到Student中
Student stu= new Student();
BeanUtils.populate(stu, map);
//Student [name=张三, age=12, sex=男]
System.out.println(stu);
// 对象的拷贝
Student stu1 = new Student ();
BeanUtils.copyProperties(stu , stu1 );
//Student [name=张三, age=12, sex=男]
System.out.println(stu1);

// 拷贝指定的属性
Student stu2 = new Student ();
BeanUtils.copyProperty(stu2 , "name", "李四");
// Student [name=李四, age=0, sex=null]
System.out.println(stu2 );

// 设置指定的属性
BeanUtils.setProperty(stu2, "sex", "女");
// Student [name=李四, age=0, sex=女]
System.out.println((stu2);
// 克隆对象
Object object = BeanUtils.cloneBean(stu2);
// Animal [name=李四, age=0, sex=女]
System.out.println(object);
}

注意事项:BeanUtils在进行数据拷贝中,不管数据是否有值,会直接覆盖,这样就会存在有些需求无法满足的情况,不如说当拷贝的值为null时,不允许覆盖,可以进行如下操作:

public static String[] getNullPropertyNames (Object source) { final BeanWrapper src = new BeanWrapperImpl(source); java.beans.PropertyDescriptor[] pds = src.getPropertyDescriptors(); Set<String> emptyNames = new HashSet<String>(); for(java.beans.PropertyDescriptor pd : pds) { Object srcValue = src.getPropertyValue(pd.getName()); if (srcValue == null) emptyNames.add(pd.getName()); } String[] result = new String[emptyNames.size()]; return emptyNames.toArray(result); }

BeanUtils.copyProperties(源对象,新对象,getNullPropertyNames (源对象));

 点赞:0  打赏  分享  海报

  • 打赏支付宝扫一扫
  • 打赏微信扫一扫
  • 打赏企鹅扫一扫
结束语
温馨提醒:如有技术问题以及资源失效请联系站长 QQ89549822 进行反馈!!!
 您阅读本文耗时: 0小时02分35秒
热度:331° 发布时间:2020年8月27日

推荐:

标题:Java BeanUtils使用方法详解

链接: https://www.itfd.cn/post-1131.html

版权:转载请注明来源于【IT辅导娱乐网】为原创

上一篇: JavaWeb四大域对象详解

下一篇: vue和elementui是什么关系

作者头像 作者名称 作者性别
五年级扛把子
联系作者 作者主页

热门推荐

1 HTTP请求错误码
2 java环境变量配置详解
3 java继承特性详解
4 豪华黄钻5以上免费发红包
5 ArrayList 和 Vector 的区别?
6 URL详解

评论列表

取消回复

  • 存档

    • 2020年9月(191)
    • 2020年8月(92)
    • 2020年7月(5)
    • 2020年6月(224)
    • 2020年5月(392)
    • 2020年4月(267)
    • 2020年3月(76)
    • 2019年3月(1)
    • 1970年1月(29)
  • 搜索

  • 热门文章

    • 神佑之路手游源码-附视频教程
    • 最新可用老王VPN2.22.15谷歌市场版,免费使用
    • 私藏的十个网站,不看后悔系列
    • 虚拟商品自动发货商城源码
    • 不吃苦、不奋斗,你要青春做什么?
  • 随机文章

      • 量子互联网要来了?美国政府投入巨资,大力发展量子互联网
        • 新手怎么快速学会电脑
          • 学电脑打字最快,电脑新手如何快速学会打字
              • docker搭建maven私有仓库以及使用
    提示信息

    SQL语句执行错误: SELECT COUNT(*) AS total FROM emlog_twitter
    Table 'itfd.emlog_twitter' doesn't exist

    «点击返回