您当前的位置: 首页 >  Java

java持续实践

暂无认证

  • 2浏览

    0关注

    746博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

java基础 springframework.beans.BeanUtils复制pojo属性值以及忽略某些属性值的用法

java持续实践 发布时间:2018-09-27 13:25:22 ,浏览量:2

  • 开发环境
    • Spring 版本 4.3.6
    • java版本1.8
准备工作 新建一个实体类

User.java 该实体类有四个属性, userId,userName,departmentName,departmentId

public class User {
	private String userId;
	private String userName;
	
	private String departmentName;
	private String departmentId;
	
	public String getDepartmentName() {
		return departmentName;
	}
	public void setDepartmentName(String departmentName) {
		this.departmentName = departmentName;
	}
	public String getDepartmentId() {
		return departmentId;
	}
	public void setDepartmentId(String departmentId) {
		this.departmentId = departmentId;
	}
	public String getUserId() {
		return userId;
	}
	public void setUserId(String userId) {
		this.userId = userId;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	@Override
	public String toString() {
		return "User [userId=" + userId + ", userName=" + userName + ", departmentName=" + departmentName
				+ ", departmentId=" + departmentId + "]";
	}
}
创建main方法进行测试 1.复制所有的属性值
  • 复制所有的属性值,直接通过BeanUtils工具类,调用copyProperties(Object source, Object target)方法. 第一个参数为带有源数据的对象,第二个参数为需要复制数据的目标对象. 如下面的例子, user对象设置了数据, user2对象只是创建出来了.没有设置数据.
public static void main(String[] args) {
		User user = new User();
		user.setUserId("123");
		user.setUserName("周杰伦");
		user.setDepartmentName("安全部门");
		user.setDepartmentId("666");
		
		User user2 = new User();
		BeanUtils.copyProperties(user, user2);
		System.out.println("user2: "+user2);
		
    }

上面的代码打印的结果如下 输出结果 可以看到user2对象的属性值,全部由user对象赋值过来了.

2.复制部分的属性值

依旧是调用copyProperties方法,但是后面写了userId和userName的User属性的两个字符串. 表示不复制这两个属性

public static void main(String[] args) {
		User user = new User();
		user.setUserId("123");
		user.setUserName("周杰伦");
		user.setDepartmentName("安全部门");
		user.setDepartmentId("666");
		
		User user2 = new User();
		BeanUtils.copyProperties(user, user2,"userId","userName");
		System.out.println("user2: "+user2);
    }

控制台打印如下 打印结果 可以看到userId 和userName属性为null了, 表示忽略了此属性

关注
打赏
1658054974
查看更多评论
立即登录/注册

微信扫码登录

0.1546s