我是靠谱客的博主 无辜豌豆,这篇文章主要介绍BeanUtils.copyProperties()参数的赋值顺序说明,现在分享给大家,希望可以做个参考。

BeanUtils.copyProperties()参数的赋值顺序

BeanUtils.copyProperties(x,y)有两个不同的jar包,引入不同的包,赋值的顺序不一样。

分别是:

复制代码
1
org.springframework.beans.BeanUtils
复制代码
1
org.apache.commons.beanutils.BeanUtils

引入 1 的话,是将 x 赋值给 y

引入 2 的话,是将 y 赋值给 x

BeanUtils.copyProperties初体验,及其参数含义解释

用处

BeanUtils.copyProperties是org.springframework.beans.BeanUtils;包下得一个用于对象间得属性赋值,避免了常规操作得一个个get再set属性值,非常好用

案例: 创建一个源类:source

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
private String username; private String password; private String email; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } @Override public String toString() { return "book{" + "username='" + username + ''' + ", password='" + password + ''' + ", email='" + email + ''' + '}'; } }

创建一个目标target源类

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
private String username; private String password; private String email; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } @Override public String toString() { return "book{" + "username='" + username + ''' + ", password='" + password + ''' + ", email='" + email + ''' + '}'; } }

创建测试类test

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import com.sdqj.system_integration.domain.book; import com.sdqj.system_integration.domain.book2; import org.springframework.beans.BeanUtils; public class test { public static void main(String[] args) { book bo=new book(); bo.setEmail("1111"); bo.setPassword("222"); bo.setUsername("333"); book2 bo2=new book2(); BeanUtils.copyProperties(bo,bo2); System.out.println(bo.toString()); System.out.println(bo2.toString()); } }

结果展示:

ignoreProperties参数

ignoreProperties参数意思是忽略某个参数,使其不被复制,可写多个被忽略得参数

案例

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import com.sdqj.system_integration.domain.book; import com.sdqj.system_integration.domain.book2; import org.springframework.beans.BeanUtils; public class test { public static void main(String[] args) { book bo=new book(); bo.setEmail("1111"); bo.setPassword("222"); bo.setUsername("333"); book2 bo2=new book2(); BeanUtils.copyProperties(bo,bo2,"username","password"); System.out.println(bo.toString()); System.out.println(bo2.toString()); }

结果展示:

还有源代码中得Class<?> editable参数,不太了解其中得含义,但只能放target(目标类)

案例测试

复制代码
1
2
3
4
5
6
7
8
9
10
public static void main(String[] args) { book bo=new book(); bo.setEmail("1111"); bo.setPassword("222"); bo.setUsername("333"); book2 bo2=new book2(); BeanUtils.copyProperties(bo,bo2,book2.class); System.out.println(bo.toString()); System.out.println(bo2.toString()); }

结果如下:

以上为个人经验,希望能给大家一个参考,也希望大家多多支持靠谱客。

最后

以上就是无辜豌豆最近收集整理的关于BeanUtils.copyProperties()参数的赋值顺序说明的全部内容,更多相关BeanUtils.copyProperties()参数内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(162)

评论列表共有 0 条评论

立即
投稿
返回
顶部