BeanUtils.copyProperties()參數(shù)的賦值順序說明
BeanUtils.copyProperties()參數(shù)的賦值順序
BeanUtils.copyProperties(x,y)有兩個(gè)不同的jar包,引入不同的包,賦值的順序不一樣。
分別是:
org.springframework.beans.BeanUtils
org.apache.commons.beanutils.BeanUtils
引入 1 的話,是將 x 賦值給 y
引入 2 的話,是將 y 賦值給 x
BeanUtils.copyProperties初體驗(yàn),及其參數(shù)含義解釋
用處
BeanUtils.copyProperties是org.springframework.beans.BeanUtils;包下得一個(gè)用于對(duì)象間得屬性賦值,避免了常規(guī)操作得一個(gè)個(gè)get再set屬性值,非常好用
案例: 創(chuàng)建一個(gè)源類:source
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 + '\'' +
'}';
}
}
創(chuàng)建一個(gè)目標(biāo)target源類
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 + '\'' +
'}';
}
}
創(chuàng)建測(cè)試類test
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());
}
}
結(jié)果展示:

ignoreProperties參數(shù)
ignoreProperties參數(shù)意思是忽略某個(gè)參數(shù),使其不被復(fù)制,可寫多個(gè)被忽略得參數(shù)
案例
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());
}
結(jié)果展示:

還有源代碼中得Class<?> editable參數(shù),不太了解其中得含義,但只能放target(目標(biāo)類)
案例測(cè)試
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());
}
結(jié)果如下:

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java數(shù)據(jù)結(jié)構(gòu)與算法之快速排序詳解
這篇文章主要介紹了java數(shù)據(jù)結(jié)構(gòu)與算法之快速排序,結(jié)合實(shí)例形式詳細(xì)分析了快速排序的原理、實(shí)現(xiàn)步驟、相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2017-05-05
Mybatis?Plus插入數(shù)據(jù)后獲取新數(shù)據(jù)id值的踩坑記錄
在某些情況下,需要在執(zhí)行新增后,需要獲取到新增行的id,這篇文章主要給大家介紹了關(guān)于Mybatis?Plus插入數(shù)據(jù)后獲取新數(shù)據(jù)id值的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08
springboot?Minio功能實(shí)現(xiàn)代碼
這篇文章主要介紹了springboot?Minio功能實(shí)現(xiàn),本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07
一篇文章教你如何用多種迭代寫法實(shí)現(xiàn)二叉樹遍歷
這篇文章主要介紹了C語言實(shí)現(xiàn)二叉樹遍歷的迭代算法,包括二叉樹的中序遍歷、先序遍歷及后序遍歷等,是非常經(jīng)典的算法,需要的朋友可以參考下2021-08-08
JAVA簡(jiǎn)單實(shí)現(xiàn)MD5注冊(cè)登錄加密實(shí)例代碼
本篇文章主要介紹了JAVA簡(jiǎn)單實(shí)現(xiàn)MD5注冊(cè)登錄加密實(shí)例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-03-03
使用HttpClient調(diào)用接口的實(shí)例講解
下面小編就為大家?guī)硪黄褂肏ttpClient調(diào)用接口的實(shí)例講解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10
SpringBoot在項(xiàng)目停止(服務(wù)停止/關(guān)閉退出)之后執(zhí)行的方法
這篇文章主要給大家介紹了SpringBoot在項(xiàng)目停止(服務(wù)停止/關(guān)閉退出)之后執(zhí)行的兩種方法,實(shí)現(xiàn)DisposableBean接口和使用@PreDestroy注解,文中有詳細(xì)的代碼講解,具有一定的參考價(jià)值,需要的朋友可以參考下2023-12-12
Java去重排序之Comparable與Comparator的使用及說明
這篇文章主要介紹了Java去重排序之Comparable與Comparator的使用及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04

