有什么较为通用的办法解决两个实体类传递相同参数?

2022-08-03 16:33:07 +08:00
 Mrzhs

码不动了,真的

4044 次点击
所在节点    Java
40 条回复
version0
2022-08-03 22:39:31 +08:00
嘿,我以前写过这种代码,当时迷信反射效率低,就手写过这种代码。🤣
Goooooos
2022-08-03 22:44:41 +08:00
我一般都是 beanutils.copyproperties
Saxton
2022-08-03 22:55:56 +08:00
果断推荐 mapStruct 强推啊 延长寿命的东西
Saxton
2022-08-03 22:57:44 +08:00
@Vaspike 强推 mapStruct 。。。 非反射 编译自动 生成方法,配合 idea 插件自动补充注解,舒服到上天
Saxton
2022-08-03 22:58:49 +08:00
mapStruct 也有编译检查,字段写错类型不对会提示
silentsky
2022-08-04 00:34:17 +08:00
如果你用 beanutil ,等有一天改属性的时候你就知道难受,至少这种方式会给你编译报错
dqzcwxb
2022-08-04 01:10:18 +08:00
@version0 #21 虽然但是,反射确实不如手写 set 效率高
xmumiffy
2022-08-04 01:14:40 +08:00
Json encode&decode
bthulu
2022-08-04 08:33:56 +08:00
字段都一样, 你为什么要用两个实体类呢, 吃饱了撑的吗?
guanhui07
2022-08-04 08:57:32 +08:00
mapStruct
hahaFck
2022-08-04 10:05:10 +08:00
java 就是实体分的太多了,大量重复的属性。
koloonps
2022-08-04 10:14:59 +08:00
@bthulu 数据库查出来的对象比返回的参数要多
lyxeno
2022-08-04 10:33:18 +08:00
用 BeanUtils 后续重构好像不太方便,我这种代码现在都是用 Github Copilot 帮忙自动生成的

然后自己写的时候注意一点,没必要的实体类就不另外新增了,减少这种重复代码
luomao
2022-08-04 10:49:02 +08:00
orika
li24361
2022-08-04 10:57:09 +08:00
@Saxton 补全插件能发一下吗?
blackshow
2022-08-04 11:26:47 +08:00
MapStruct
tramm
2022-08-04 15:58:38 +08:00
mapstruct
Spring 的 beanutil
Hutool 的 beanutil...
bthulu
2022-08-04 17:53:00 +08:00
@koloonps 这还不简单, spring 天生支持返回时过滤字段
ruanimal
2022-08-05 10:22:55 +08:00
@jones2000 没见过几万字段的系统吗
jones2000
2022-08-05 11:27:39 +08:00
@ruanimal 没看出来你这个是什么系统, 不就是一个业务模块嘛。大家都是垒代码的。离做系统还远着呢。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/870449

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX