Spring中BeanUtils.copyProperties的坑及解决
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import java.util.*;
public class Example {
public static void main(String[] args) {
// 创建一个子类对象
Child source = new Child();
source.setPublicField("public field");
source.setProtectedField("protected field");
source.setPrivateField("private field");
source.setDateField(DateUtil.parse("2023-05-22"));
source.setStringList(CollUtil.newArrayList("a", "b", "c"));
source.setStringMap(new HashMap
put("key1", "value1");
put("key2", "value2");
}});
// 创建一个父类对象
Parent target = new Parent();
// 将子类对象的属性拷贝到父类对象中
BeanUtil.copyProperties(source, target);
// 输出父类对象中的属性
System.out.println("publicField: " + target.getPublicField());
System.out.println("protectedField: " + target.getProtectedField());
System.println("privateField: " + target.getPrivateField());
System.out.println("dateField: " + target.getDateField());
System.out.println("stringList: " + target.getStringList());
System.out.println("stringMap: " + target.getStringMap());
}
}
// 父类
class Parent {
private String privateField;
private Date dateField;
private List
private Map
public String getPrivateField() {
return privateField;
}
public void setPrivateField(String privateField) {
this.privateField = privateField;
}
public Date getDateField() {
return dateField;
}
public void setDateField(Date dateField) {
this.dateField = dateField;
}
public List
return stringList;
}
public void setStringList(List
this.stringList = stringList;
}
public Map
return stringMap;
}
public void setStringMap(Map
this.stringMap = stringMap;
}
}
// 子类
class Child extends Parent {
public String publicField;
protected String protectedField;
public String getPublicField() {
return publicField;
}
public void setPublicField(String publicField) {
this.publicfield = publicField;
}
public String getProtectedField() {
return protectedField;
}
public void setProtectedField(String protectedField) {
this.protectedField = protectedField;
}
private String privateField;
public String getPrivateField() {
return privateField;
}
public void setPrivateField(String privateField) {
this.privateField = privateField;
}
}
- .NET Core系列之MemoryCache 初识
- 007手机一键Root(安机网一键Root) v3.0 官方最新版 一键ROOT您的Android手机
- 12306密码被盗了怎么办?12306密码外泄解决方法
- 12个字的qq网名
- 150M迷你型无线路由器怎么设置?
- 192.168.1.1打不开怎么办?路由器192.168.1.1打不开的原因以及解决办法
- 2011年电子报合订本 电子报 编辑部 中文 PDF版 [84M]
- 2015年1月15日小米新旗舰发布会现场图文直播
- 2016.3.1vivo Xplay5新品发布会现场视频直播 优酷直播
- 2016华为P9发布会视频直播地址 4月15日华为P9国行发布会直播
相关文章
- SpringSecurity中的Filter Chain(过滤器链)
- Spring Boot 3中一套可以直接用于生产环境的Log4J2日志配置详解
- SpringBoot项目实现短信发送接口开发的实践
- SpringBoot中的@ResponseStatus注解处理异常状态码
- SpringBoot构建RESTful API的实现示例
- spring webClient配置及使用简单代码示例
- Spring Cloud Gateway实现灰度发布方案
- Springboot中的Controller解析
- Spring Boot之FilterRegistrationBean-自定义Filter详解
- SpringBoot、Java 使用 Jsoup 解析 HTML 页面的详细步骤