BeanUtils注意事项

今天改了一个项目中的bug

简单来说就是关于BeanUtils.copyProperties()的,当属性名一样但是属性类型不一样时,方法不会进行拷贝

项目里就是用了这玩意导致搜索条件没加上

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    @Test
void testBeanUtils() {
Test1 t1 = new Test1();
Test2 t2 = new Test2();
/**
* 如果要拷贝的某个字段名一样但是类型不一样,则不会拷贝
*/
BeanUtils.copyProperties(t2, t1);
System.out.println(t1);
}

@Data
class Test1 {
private String id;
}

@Data
class Test2 {
// private String id = 10L;
private String id = "10";
}