java - BeanUtils.setProperty() 可以在没有 setter 的情况下设置值吗?

标签 java apache-commons-beanutils

我目前正在使用 here 中的示例将我的 ResultSet 映射到自定义 Object。我已经测试了 BeanUtils.setProperty() ,看起来该对象需要 setter 才能工作。有什么方法可以像 Gson 那样映射值吗?我不想有公共(public)设置者。

最佳答案

不,不能。

顾名思义,BeanUtils 处理 Java Beans

They are serializable, have a zero-argument constructor, and allow access to properties using getter and setter methods.

(强调我的。)

虽然BeanUtils方法的Javadoc相当模糊,但也可以在BeanUtilsBean.setProperty()的源代码中找到线索。和 PropertyUtilsBean.setSimpleProperty() .

请参阅documentation也是:

The Java language provides classes like java.beans.Introspector, which can examine a Java class at runtime and identify for you the names of the property getter and setter methods, [...]. The APIs in the BeanUtils package are intended to simplify getting and setting bean properties dynamically, [...].

(强调我的。)

关于java - BeanUtils.setProperty() 可以在没有 setter 的情况下设置值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45641433/

相关文章:

java - 反射将非空属性从一个对象复制到另一个 BeanUtils

java - 如何在 Java 中模拟可在运行时扩展的枚举?

java - 如何将参数 "t"替换为 "className"?

java - Java 应用程序如何部署在 "real world"中?

java - JAXB 生成的对象到业务/域对象

java - 什么可能导致程序在它似乎拥有的监视器上被阻止?

java - 如何将两个 java8 流操作(一个终端操作和一个惰性操作)组合成一个操作?

java - 在哪里配置使用 GWT uploader 上传文件的路径?

java - BeanUtils.copyProperties 是否进行深度克隆?

java - 如何将 map 转换为对象?