想到很多工具都是通过get、set方法进行一个反射调用,然后实现转换
那么我们是否可以通过对get、set方法的修改,对Bean进行一个数据的转换呢?
@Test
public void test324(){
Person person = new Person(1L,"li",20);
PersonU pu = new PersonU();
BeanUtils.copyProperties(person,pu);
BeanUtils.copyProperties(pu,person);
System.out.println(person);
/**
* Person(Id=1, name=li, age=21)
* 实现了年龄+1操作
*/
}
//原生类
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Person {
private Long Id;
private String name;
private int age;
}
//增强类,相当于做了手脚的类
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PersonU {
private Long Id;
private String name;
private int age;
//在此处进行一个年龄+1
public void setAge(int age) {
this.age = age+1;
}
}