问题标签 [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 - Testing BeanUtils / test should fail when a new property is created
I'm using BeanUtils to map some DTO class to Domain classes (and vice/versa). (using BeanUtils copy properties)
I want to test my code. How do I write test that will fail if someone writes creates an extra property in either the DTO or Domain class.
My attempt which I'm still working on is to traverse BeanUtils.getPropertyDescriptors(class) and find the corresponding getter methods THEN for each class (DTO and Domain) test for equality.
Any thoughts?
Due to project dependency constraints I would rather not use something like Dozer. I am using spring 3's beanutils.
java - Bean 属性访问和注释
是否有任何 java 库允许我利用 BeanUtils 之类的属性访问bean.prop1.prop2
,同时允许访问 getter/field 本身的注释?
例如,我有一个如下所示的 bean 类:
而且我希望不仅能够检索我正在寻找的属性的值,而且还能够检索在该字段上注释的任何注释,该字段的值被返回:
是否存在允许这两种功能的库?我可以使用 Commons BeanUtils 对值进行纯属性访问,并使用普通反射来获取属性的注释,但似乎没有一种方法可以结合这两种能力。
jsp - BeanUtils.populate() 方法的 Bean 对象的作用域是什么?
我以前使用<jsp:useBean>
的标签可以决定 bean 的范围,page or request or session or application
但现在我转移到了 MVC 架构,在那里我使用BeanUtils
类来设置 bean 的属性Servlets
。请告诉我SCOPE
这种方法提供的默认值是什么?如果我想改变范围,我必须做什么?我正在使用语法:
BeanUtils.populate(bean, request.getParameterMap());
java - 克隆具有少量属性值的 Java bean - BeanUtils
我有一个 Java bean,我想克隆它以获得一个新实例,但在新实例中,我希望少数属性具有值,其他我不想被克隆/复制。
例子:-
我也可以使用copyProperties
,但我必须创建一个类似但很小的类结构。
我也可以使用copyProperty
,但是我必须多次编写它。
有没有好的解决方案。
java - 使用 commons-beans BeanUtils 将 JavaBean 转换为具有嵌套名称的键/值映射
我开始使用 BeanUtils 将属性文件转换为 JavaBean。使用 BeanUtils.populate,我可以很好地做到这一点。但是我可以正确地实现从 JavaBean 到 Map 的复古转换(只存储简单的值)。
请参阅基于 BeanUtils 文档中的 Employee Class 的示例。
结果 :
我缺少什么以便 map2 使用 BeanUtils.describe 方法实际存储诸如“address(pro).city”或“subordinate[1].firstName”之类的键?
java - apache commons beanutils,如何设置属性值?
在java,commons beanutils中,尝试将属性'address'和'creditCardList'设置为对象,但它给了我错误:
但我有这个方法。代码在这里:
java - PropertyUtils.copyProperties 什么时候可以静默失败?
我正在使用PropertyUtils.copyProperties()通过反射复制对象的属性,它曾经运行良好。然而,最近它开始什么都不做。
它不会抛出异常,但不会复制任何字段。目标对象的所有字段都保持为空,尽管源对象中有非空字段。
我不知道如何重现这个。对我来说,它始终如一地发生,但它在一个我不能在这里发布的项目中。该项目使用 Play Framework,它会进行一些字节码操作,因此这可能是罪魁祸首。
关于可能导致此问题或如何调试的任何建议或想法?也欢迎我可以尝试的替代现场复印机(我之前尝试过一次 BeanUtils,但由于一些我现在不记得的警告而切换到 PropertyUtils)。
java - BeanUtils - “描述”方法返回不正确的数组值
我想将一个 bean 类转换为一个映射(键=成员的名称,值=成员的值)。
我正在使用方法 BeanUtils.describe(beanClass);
(编辑:我在 commons-beanutils 1.5 上使用 commons-beanutils 1.8.3,jdk 1.6.0_20,它可以工作)
问题是返回值不正确,(地图只包含数组中的第一项),
编码:
- 预期输出:
键=我的列表,值= [第一个值,第二个值]
键=类,值=类 $Demo
- 但真正的输出是:
键=我的列表,值= [first_value]
键=类,值=类 $Demo
如您所见,数组包含两个值,但输出(和地图)仅包含一个,为什么?
谢谢,
本尼
java - 使用 BeanUtils 序列化为键/值对
我想编写一个 Java 程序,它可以获取任意数据并将其存储在 MySQL 数据库中。稍后可以再次读取数据并重建原始对象结构。
背景是我想要一个通用工具,用于需要电子邮件验证才能完成的表单。所以:
- 用户填写表格,
- 数据存储如上所述,
- 电子邮件通过包含特定 UUID 标识数据集的链接发送给用户,
- 用户点击链接,
- servlet 使用链接中的 UUID 加载存储的数据并处理数据。
我希望这适用于任何数据,而不仅仅是 String/String 或 String/int 对。我正在考虑使用 org.apache.common.beanutils 中的 LazyDynaBean 作为将数据传递给我的工具的一种方式。
问题是:有没有一种很好的方法来序列化这些东西,即使值是 bean(让我们限制 Java Beans),而不仅仅是原语?
我在想我的数据库表可能看起来像这样
这完全可行吗?谁能指出我如何将 DynaBean 存储和加载到这个结构中的正确方向?或者我错过的任何替代方案?
谢谢一堆。
java - BeanUtils.cloneBean() 深拷贝
如果 bean 中的所有对象都实现了Serializable
接口,会BeanUtils.cloneBean()
做一个深拷贝吗?