Hutool Hutool
(opens new window)
🏡首页
📖指南
🎢最佳实践
💖支持
💡javaDoc (opens new window)
⏳更新记录 (opens new window)
  • 🍎gitee (opens new window)
  • 🍏github (opens new window)
(opens new window)
🏡首页
📖指南
🎢最佳实践
💖支持
💡javaDoc (opens new window)
⏳更新记录 (opens new window)
  • 🍎gitee (opens new window)
  • 🍏github (opens new window)
  • 快速入门

  • 核心(hutool-core)

    • AI(Hutool-ai)

    • 注解(annotation)

    • 数组(array)

    • JavaBean(bean)

      • 简介
      • Bean工具-BeanUtil
      • DynaBean
        • BeanPath
        • Bean描述-BeanDesc
        • RecordUtil
      • 缓存(cache)

      • 类加载器(classloader)

      • 编码解码(codec)

      • 集合(collection)

      • 比较器(comparator)

      • 压缩(compress)

      • 类型转换(convert)

      • 数据(data)

      • 日期时间(date)

      • 异常(exception)

      • 函数(func)

      • IO流(io)

      • 语言特性(lang)

      • Map(map)

      • 数字数学(math)

      • 网络(net)

      • 对象池(pool)

      • 反射(reflect)

      • 正则(regex)

      • 服务提供(spi)

      • 聚合操作(stream)

      • 字符串文本(text)

      • 并发和线程(thread)

      • 树结构(tree)

      • 工具集合(util)

      • XML操作(xml)

    • 定时任务(hutool-cron)

    • 加密(hutool-crypto)

    • 数据库(hutool-db)

    • 扩展(hutool-extra)

    • HTTP(hutool-http)

    • 日志(hutool-log)

    • 配置文件(hutool-setting)

    • JSON(hutool-json)

    • Office办公(hutool-poi)

    • 套接字(hutool-socket)

    • GUI(hutool-swing)

    • 指南
    • 核心(hutool-core)
    • JavaBean(bean)
    Hutool
    2026-01-03
    目录

    DynaBean

    # 介绍

    动态Bean,通过反射对Bean的相关方法做操作,支持Map和普通Bean和Collection

    # 方法

    # 常用方法

    • of 创建一个DynaBean
    • get 获得字段对应值
    • set 设置字段对应值
    • containsProp 检查是否有指定名称的bean属性
    • safeGet 获得字段对应值,获取异常返回null
    • invoke 执行原始Bean中的方法
    • getBean 获得原始Bean
    • getBeanClass 获得Bean的类型

    # 使用

    我们先定义一个JavaBean:

    // Lombok注解
    @Data
    public static class User{
      private String name;
      private int age;
    
      public String testMethod(){
        return "test for " + this.name;
      }
    }
    

    # 使用示范

    public void beanTest() {
       final User user = new User();
       // 创建
       final DynaBean bean = DynaBean.of(user);
       // final DynaBean bean = DynaBean.of(User.class); 
       // final DynaBean bean = new DynaBean(User.class);
       // 赋值
       bean.set("name", "李华");
       bean.set("age", 12);
    
       // 获取值
       final String name = bean.get("name");
       Assertions.assertEquals(user.getName(), name);
       final int age = bean.get("age");
       Assertions.assertEquals(user.getAge(), age);
    
       // 重复包装测试
       final DynaBean bean2 = new DynaBean(bean);
       final User user2 = bean2.getBean();
       Assertions.assertEquals(user, user2);
    
       //执行指定方法
       final Object invoke = bean2.invoke("testMethod");
       Assertions.assertEquals("test for 李华", invoke);
    }
    
    Bean工具-BeanUtil
    BeanPath

    ← Bean工具-BeanUtil BeanPath→

    Theme by Vdoing | Copyright © 2025-2026 Hutool | Apache-2.0
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式