问题标签 [apache-commons-beanutils]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
7514 浏览

java - 使用 BeanUtils 设置 List 索引属性

我正在尝试使用 BeanUtils 与类似于以下内容的 Java bean 进行交互:

根据BeanUtils 文档,BeanUtils 确实支持以下索引属性List

作为对 JavaBeans 规范的扩展,BeanUtils 包将任何其基础数据类型为 java.util.List(或 List 的实现)的属性都考虑为索引。

但是,假设我尝试执行以下操作:

输出是:

为什么BeanUtils.setProperty()无法设置索引属性,而PropertyUtils.setProperty()可以?BeanUtils不支持Lists内部对象的类型转换吗?

0 投票
7 回答
10912 浏览

java - 是否可以使用 Commons Bean Utils 自动实例化嵌套属性?

我正在使用Apache Commons Bean Utils 的PropertyUtils.setProperty(object, name, value)方法:

提供这些课程:

和这个:

如果我尝试,我会得到: org.apache.commons.beanutils.NestedNullException: bean 类 'class A '上的 'bc' 的 Null 属性值

是否可以告诉 PropertyUtils 如果嵌套属性具有空值,请在尝试更深入之前尝试实例化它(默认构造函数)?

还有其他方法吗?

谢谢

0 投票
2 回答
3984 浏览

java - 使用 Commons BeanUtils 时,为特定类的所有子类注册 Converter 的最佳方法是什么?

例如,如果我希望为 java.util.Map 的所有实例注册一个转换器,有没有办法做到这一点:

MyConverter#convert()对于 Map 的任何实例(例如 HashMap),该方法会在哪里调用?

这样做的背景是我使用 BeanUtils 从数据库中填充各种不同的 bean。它们的一些属性是实现特定接口的枚举,并且需要自定义例程来设置它们的值。我希望为相关接口的所有实现注册一个转换器类,但找不到这样做的方法,所以最终不得不通过检查 bean 中每个属性的类来动态完成它和如果它们恰好是此接口的实例,则注册我的转换器类:

这似乎很讨厌,我敢肯定一定有更好的方法来做到这一点?

0 投票
3 回答
8324 浏览

java - Java Bean、BeanUtils 和布尔包装类

我正在使用 BeanUtils 来操作通过 JAXB 创建的 Java 对象,并且遇到了一个有趣的问题。有时,JAXB 会像这样创建一个 Java 对象:

以下代码可以正常工作:

但是,尝试happy像这样获取属性:

导致此异常:

将所有内容更改为原语boolean允许 set 和 get 调用工作。但是,我没有这个选项,因为这些是生成的类。我假设发生这种情况是因为 Java Bean 库仅is<name>在返回类型是原始类型boolean而不是包装类型时才考虑表示属性的方法Boolean。有没有人建议如何通过 BeanUtils 访问这些属性?我可以使用某种解决方法吗?

0 投票
1 回答
1865 浏览

java - JavaBeans 比较器/差异

有没有一个库可以通过属性比较两个 javabean 并告诉你它们之间的区别?

我在想这将是 BeanUtils 会做的事情,但在文档中找不到

基本上我想“区分”它们

0 投票
1 回答
3929 浏览

java - Apache Commons BeanUtils 获取列表属性

在 Apache Commons BeanUtil 中,如何在列表中获取类型?例如

谢谢。

0 投票
1 回答
1914 浏览

java - BeanUtils.copyProperties - 如何将值复制到集合中的自定义 bean 引用

当使用上述 copyProperties 方法时,a_ClassA.myList 引用了 c.ClassB。

相反,我正在寻找一种将值从 c_ClassA 复制到 a_ClassA 的方法,以便 a_ClassA.myList 具有 a.ClassB 引用而不是 c.ClassB 引用的列表。

0 投票
1 回答
2047 浏览

java - 来自 Apache 的 BeanUtils 问题

我正在尝试在 bean 中设置一个属性,但我似乎无法让 BeanUtils 工作......

这是我遇到的问题的一个小例子。

当我运行它时,我得到一个 InvocationTargetException,说“无法设置名称” 此外,当我将属性字符串设置为“名称”时,我没有收到错误,但名称没有设置。

谁能指出我在哪里出错的正确方向?

0 投票
4 回答
16546 浏览

java - BeanUtils 与 ReflectionToStringBuilder 的性能(用于 Bean 类)

我的 Web 应用程序中有大量 Java bean 类,我正在尝试找到一种简单的方法来实现toString()这些 bean 中的方法。该toString()方法将用于整个应用程序的日志记录,并且应该打印 bean 中所有属性的属性值对。

我正在尝试两种选择:
1. BeanUtils.describe()(Apache commons-beanutils)
2. ReflectionToStringBuilder.toString()(Apache commons-lang)

由于这是一个预计会有高流量的 Web 应用程序,因此实现必须是轻量级的,并且不应影响性能。(内存使用、处理器使用等是主要考虑因素)。

我想知道根据上述标准,其中哪些表现更好。据我所知,反射是一项繁重的操作,但更多细节和对这两个选项的深入了解将帮助我选择最佳解决方案。

0 投票
1 回答
6000 浏览

java - BeanUtils - 'describe' 方法返回 InvocationTargetException

我正在尝试在 Map 中获取以下实体的属性:

通过以下方式:

显然currentObject是一个PSParameter ..

每当describe调用该函数时,我都会得到InvocationTargetException

根本原因如下:

任何提示为什么会发生这种情况?我的意思是,我很清楚异常的根本原因,无法将字符串解析为整数,但为什么BeanUtils及其描述会这样做?

无论如何要规避这一点,或任何替代方案?谢谢!