码不动了,真的
1
ppxppx 182 天前 via Android
BeanUtils.CopyProperties?
|
![]() |
2
hidemyself 182 天前
BeanUtils 吧。。或者 MapStruct
|
![]() |
4
Mrzhs OP @hidemyself 感谢
|
![]() |
5
dake0805 182 天前
我是用 IDEA 插件 https://github.com/gejun123456/intellij-generateAllSetMethod 生成,然后自己微调
|
![]() |
6
ligiggy 182 天前
A 继承 B ?或者继承同一个接口?
|
![]() |
7
Morii 182 天前
MapStruct 写一个 BaseMapper 然后泛型实现
|
8
lazyfighter 182 天前
MapStruct
|
9
issakchill 182 天前 ![]() 如果只是一次性使用 推荐 idea 插件 https://plugins.jetbrains.com/plugin/7171-generateo2o
|
![]() |
10
a33291 182 天前
按说 java 应该也有一些基于反射实现的 map 库,类似 automapper 或者 tinymapper 之类的,这种只要 2 个类字段一致(不一致时可通过配置修改,但是很多时候 dto 和 entity 字段是重叠的)只需要调用一个函数即可
楼上提到的 BeanUtils 也许就是干这事的?对 java 不太熟 |
11
jones2000 182 天前
成员变量太多了, 拆类
|
12
wzcloud 182 天前
没有代码质量管控的话,直接用 map 呗,反正是后来者维护。
|
![]() |
13
Vaspike 182 天前
嫌麻烦的话直接 jackson 序列化第一个对象后填充到第二个对象,楼上各位似乎没提供这种思路,当然可能性能堪忧
当然我平时是把相同属性放到公共父类,写一个反射的工具方法(网上应该能搜到类似的) |
14
ye4tar 182 天前
#13 楼的算是一种套路了,然后这种在 TS 中根本不算啥,
|
16
14104chk 181 天前
可以抽出一个类 A ,里面含有所有的公共属性(多一两个也无所谓),然后组合到 in 和 orderDetl 里面。赋值的时候,直接 in.setA(orderDetl.getA())
|
17
xy90321 181 天前 via iPhone
是有什么深意我没读懂吗?不是一个 Dozer BeanMapper 就解决的事情?
|
18
Leviathann 181 天前
正则替换一下
|
![]() |
19
ns09005264 181 天前
我一般用这种方式,先用插件生成调用 setter 的代码段,配合 vim 的动作录制,快速且有静态检查
|
![]() |
20
ns09005264 181 天前
|
![]() |
21
version0 181 天前
嘿,我以前写过这种代码,当时迷信反射效率低,就手写过这种代码。🤣
|
22
Goooooos 181 天前 via Android
我一般都是 beanutils.copyproperties
|
![]() |
23
Saxton 181 天前 via iPhone
果断推荐 mapStruct 强推啊 延长寿命的东西
|
![]() |
25
Saxton 181 天前 via iPhone
mapStruct 也有编译检查,字段写错类型不对会提示
|
![]() |
26
silentsky 181 天前 via Android
如果你用 beanutil ,等有一天改属性的时候你就知道难受,至少这种方式会给你编译报错
|
![]() |
28
xmumiffy 181 天前 via Android
Json encode&decode
|
29
bthulu 181 天前
字段都一样, 你为什么要用两个实体类呢, 吃饱了撑的吗?
|
![]() |
30
guanhui07 181 天前
mapStruct
|
31
hahaFck 181 天前
java 就是实体分的太多了,大量重复的属性。
|
33
lyxeno 181 天前
用 BeanUtils 后续重构好像不太方便,我这种代码现在都是用 Github Copilot 帮忙自动生成的
然后自己写的时候注意一点,没必要的实体类就不另外新增了,减少这种重复代码 |
34
luomao 181 天前
orika
|
![]() |
36
blackshow 181 天前
MapStruct
|
![]() |
37
tramm 181 天前
mapstruct
Spring 的 beanutil Hutool 的 beanutil... |