引入依赖:
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.6.2</version>
</dependency>
JavaBean:
import lombok.Data;
@Data
public class UserDemo1 {
private String name;
private String addr;
}
import cn.hutool.core.annotation.Alias;
import lombok.Data;
@Data
public class UserDemo2 {
private String name;
// 字段名不同,用于hutool中Alias注解演示
// @Alias("addr")
private String address;
}
方式一:
UserDemo1 u1 = new UserDemo1();
u1.setName("张三");
u1.setAddr("上海");
UserDemo2 u2 = BeanUtil.copyProperties(u1, UserDemo2.class);
System.out.println(u2); // UserDemo2(name=张三, address=null)
方式二:
UserDemo1 u1 = new UserDemo1();
u1.setName("张三");
u1.setAddr("上海");
UserDemo2 u2 = new UserDemo2();
BeanUtil.copyProperties(u1, u2);
System.out.println(u2); // UserDemo2(name=张三, address=null)
字段别名:Alias注解
import cn.hutool.core.annotation.Alias;
import lombok.Data;
@Data
public class UserDemo2 {
private String name;
// 字段名不同,用于hutool中Alias注解演示
@Alias("addr")
private String address;
}
UserDemo1 u1 = new UserDemo1();
u1.setName("张三");
u1.setAddr("上海");
UserDemo2 u2 = BeanUtil.copyProperties(u1, UserDemo2.class);
System.out.println(u2); // UserDemo2(name=张三, address=上海)
注意:@Alias注解必须写在目标字段上,写在源字段上无效,而且@Alias别import成mybatis的包。