BeanUtils.copyProperties()參數(shù)的賦值順序說明
BeanUtils.copyProperties()參數(shù)的賦值順序
BeanUtils.copyProperties(x,y)有兩個不同的jar包,引入不同的包,賦值的順序不一樣。
分別是:
org.springframework.beans.BeanUtils
org.apache.commons.beanutils.BeanUtils
引入 1 的話,是將 x 賦值給 y
引入 2 的話,是將 y 賦值給 x
BeanUtils.copyProperties初體驗,及其參數(shù)含義解釋
用處
BeanUtils.copyProperties是org.springframework.beans.BeanUtils;包下得一個用于對象間得屬性賦值,避免了常規(guī)操作得一個個get再set屬性值,非常好用
案例: 創(chuàng)建一個源類: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)建一個目標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)建測試類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()); } }
結果展示:
ignoreProperties參數(shù)
ignoreProperties參數(shù)意思是忽略某個參數(shù),使其不被復制,可寫多個被忽略得參數(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()); }
結果展示:
還有源代碼中得Class<?> editable參數(shù),不太了解其中得含義,但只能放target(目標類)
案例測試
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()); }
結果如下:
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
SpringBoot?使用?Sa-Token?完成注解鑒權功能(權限校驗)
Sa-Token?是一個輕量級?java?權限認證框架,主要解決登錄認證、權限認證、單點登錄、OAuth2、微服務網(wǎng)關鑒權?等一系列權限相關問題,這篇文章主要介紹了SpringBoot使用Sa-Token完成注解鑒權功能,需要的朋友可以參考下2023-05-05idea插件篇之java內存分析工具(JProfiler)的使用
這篇文章主要介紹了idea插件篇之java內存分析工具(JProfiler),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-09-09java輸出1~100之間的全部素數(shù)的5種方式總結
這篇文章主要介紹了java輸出1~100之間的全部素數(shù)的5種方式總結,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-02-02Java基數(shù)排序radix sort原理及用法解析
這篇文章主要介紹了Java基數(shù)排序radix sort原理及用法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-06-06SpringBoot實現(xiàn)統(tǒng)一封裝返回前端結果集的示例代碼
在實際項目開發(fā)過程中,我們經常將返回數(shù)據(jù)的基本形式統(tǒng)一為JSON格式的數(shù)據(jù)。但項目可能是由很多人開發(fā)的,所以我們最好將返回的結果統(tǒng)一起來。本文介紹了SpringBoot實現(xiàn)統(tǒng)一封裝返回前端結果集的示例代碼,需要的可以參考一下2022-06-06