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

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

问题描述:

我正在以here为例将我的ResultSet映射到自定义Object。我测试了BeanUtils.setProperty(),看起来这个对象需要安装人员才能工作。有没有什么办法可以像Gson那样映射值呢?我不想要公开制定者。可以在没有setter的情况下设置BeanUtils.setProperty()的值吗?

不,它不能。

正如其名称所暗示的BeanUtils处理Java Beans

他们是序列化的,具有零参数的构造函数,允许访问使用getter和setter方法属性。

(重点煤矿。)

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

documentation太:

Java语言提供类,如java.beans.Introspector中,可以在运行时检查一个Java类,并确定你的属性getter的名字和setter方法 ,[...]。 BeanUtils包中的API旨在动态获取和设置bean属性[...]。

(重点煤矿。)

您可以在实体的Lombok库中使用@Data annoation。

+0

我不希望公众制定者。甚至不是隐藏的 – user1865027