问题标签 [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.
java - 使用 BeanUtils 设置 List 索引属性
我正在尝试使用 BeanUtils 与类似于以下内容的 Java bean 进行交互:
根据BeanUtils 文档,BeanUtils 确实支持以下索引属性List
:
作为对 JavaBeans 规范的扩展,BeanUtils 包将任何其基础数据类型为 java.util.List(或 List 的实现)的属性都考虑为索引。
但是,假设我尝试执行以下操作:
输出是:
为什么BeanUtils.setProperty()
无法设置索引属性,而PropertyUtils.setProperty()
可以?BeanUtils不支持List
s内部对象的类型转换吗?
java - 是否可以使用 Commons Bean Utils 自动实例化嵌套属性?
我正在使用Apache Commons Bean Utils 的PropertyUtils.setProperty(object, name, value)方法:
提供这些课程:
和这个:
如果我尝试,我会得到: org.apache.commons.beanutils.NestedNullException: bean 类 'class A '上的 'bc' 的 Null 属性值
是否可以告诉 PropertyUtils 如果嵌套属性具有空值,请在尝试更深入之前尝试实例化它(默认构造函数)?
还有其他方法吗?
谢谢
java - 使用 Commons BeanUtils 时,为特定类的所有子类注册 Converter 的最佳方法是什么?
例如,如果我希望为 java.util.Map 的所有实例注册一个转换器,有没有办法做到这一点:
MyConverter#convert()
对于 Map 的任何实例(例如 HashMap),该方法会在哪里调用?
这样做的背景是我使用 BeanUtils 从数据库中填充各种不同的 bean。它们的一些属性是实现特定接口的枚举,并且需要自定义例程来设置它们的值。我希望为相关接口的所有实现注册一个转换器类,但找不到这样做的方法,所以最终不得不通过检查 bean 中每个属性的类来动态完成它和如果它们恰好是此接口的实例,则注册我的转换器类:
这似乎很讨厌,我敢肯定一定有更好的方法来做到这一点?
java - Java Bean、BeanUtils 和布尔包装类
我正在使用 BeanUtils 来操作通过 JAXB 创建的 Java 对象,并且遇到了一个有趣的问题。有时,JAXB 会像这样创建一个 Java 对象:
以下代码可以正常工作:
但是,尝试happy
像这样获取属性:
导致此异常:
将所有内容更改为原语boolean
允许 set 和 get 调用工作。但是,我没有这个选项,因为这些是生成的类。我假设发生这种情况是因为 Java Bean 库仅is<name>
在返回类型是原始类型boolean
而不是包装类型时才考虑表示属性的方法Boolean
。有没有人建议如何通过 BeanUtils 访问这些属性?我可以使用某种解决方法吗?
java - JavaBeans 比较器/差异
有没有一个库可以通过属性比较两个 javabean 并告诉你它们之间的区别?
我在想这将是 BeanUtils 会做的事情,但在文档中找不到
基本上我想“区分”它们
java - Apache Commons BeanUtils 获取列表属性
在 Apache Commons BeanUtil 中,如何在列表中获取类型?例如
谢谢。
java - BeanUtils.copyProperties - 如何将值复制到集合中的自定义 bean 引用
当使用上述 copyProperties 方法时,a_ClassA.myList 引用了 c.ClassB。
相反,我正在寻找一种将值从 c_ClassA 复制到 a_ClassA 的方法,以便 a_ClassA.myList 具有 a.ClassB 引用而不是 c.ClassB 引用的列表。
java - 来自 Apache 的 BeanUtils 问题
我正在尝试在 bean 中设置一个属性,但我似乎无法让 BeanUtils 工作......
这是我遇到的问题的一个小例子。
当我运行它时,我得到一个 InvocationTargetException,说“无法设置名称” 此外,当我将属性字符串设置为“名称”时,我没有收到错误,但名称没有设置。
谁能指出我在哪里出错的正确方向?
java - BeanUtils 与 ReflectionToStringBuilder 的性能(用于 Bean 类)
我的 Web 应用程序中有大量 Java bean 类,我正在尝试找到一种简单的方法来实现toString()
这些 bean 中的方法。该toString()
方法将用于整个应用程序的日志记录,并且应该打印 bean 中所有属性的属性值对。
我正在尝试两种选择:
1. BeanUtils.describe()
(Apache commons-beanutils)
2. ReflectionToStringBuilder.toString()
(Apache commons-lang)
由于这是一个预计会有高流量的 Web 应用程序,因此实现必须是轻量级的,并且不应影响性能。(内存使用、处理器使用等是主要考虑因素)。
我想知道根据上述标准,其中哪些表现更好。据我所知,反射是一项繁重的操作,但更多细节和对这两个选项的深入了解将帮助我选择最佳解决方案。
java - BeanUtils - 'describe' 方法返回 InvocationTargetException
我正在尝试在 Map 中获取以下实体的属性:
通过以下方式:
显然currentObject
是一个PSParameter ..
每当describe
调用该函数时,我都会得到InvocationTargetException
:
其根本原因如下:
任何提示为什么会发生这种情况?我的意思是,我很清楚异常的根本原因,无法将字符串解析为整数,但为什么BeanUtils及其描述会这样做?
无论如何要规避这一点,或任何替代方案?谢谢!