Java值物件或DTO克隆工具
將一個物件中值複製到另外一個新物件中的工具: MapStruct ,使用方式:
1. 加入依賴:
<properties> <org.mapstruct.version>1.3.0.Final</org.mapstruct.version> </properties> ... <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct</artifactId> <version>${org.mapstruct.version}</version> </dependency> <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-processor</artifactId> <version>${org.mapstruct.version}</version> </dependency> |
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> <annotationProcessorPaths> <path> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-processor</artifactId> <version>${org.mapstruct.version}</version> </path> </annotationProcessorPaths> </configuration> </plugin> </plugins> </build> |
原始類:
public class CloneDTO { private String strVal; private Integer intVal; private int intVal2; // Default constructor, getter/setters... } |
介面:
@Mapper(componentModel = “ spring ”) public interface Cloner { public CloneDTO clone(CloneDTO dto); } |
測試:
@RunWith(SpringRunner.class) @SpringBootTest public class ClonerTests { @Autowired Cloner mapper; @Test public void contextLoads() { CloneDTO dto = new CloneDTO("1", 2, 3); CloneDTO obj = mapper.clone(dto); assertThat(obj.getStrVal()).isEqualTo("1"); assertThat(obj.getIntVal()).isEqualTo(2); assertThat(obj.getIntVal2()).isEqualTo(3); assertThat(dto.hashCode()).isNotEqualTo(obj.hashCode()); } } |
相關文章
- 簡化Java資料傳輸物件DTO:DTO-Free JavaJava物件
- Java中的物件“克隆”Java物件
- 詳解 Java 中的物件克隆Java物件
- Java 的常見 API 與物件克隆)JavaAPI物件
- 何時使用Entity或DTO
- DTO轉VO工具
- js深度克隆物件JS物件
- 物件如何深度克隆物件
- java的幾種物件(PO,VO,DAO,BO,POJO,DTO)解釋Java物件POJO
- js物件的深度克隆!JS物件
- js克隆一個物件JS物件
- JS型別判斷、物件克隆、陣列克隆JS型別物件陣列
- Vue.js - 陣列和物件的賦值動態變化 & 克隆Vue.js陣列物件賦值
- 原生js實現物件的深克隆以及淺克隆JS物件
- JS物件深度克隆/複製JS物件
- js之物件深淺克隆JS物件
- 在 JavaScript 中如何克隆物件?JavaScript物件
- JAVA 基礎 – clone淺克隆與深克隆Java
- 從壹開始微服務 [ DDD ] 之八 ║剪不斷理還亂的 值物件和Dto微服務物件
- .net 中的 Dto 引數封裝物件 使用封裝物件
- 深入理解Java的淺克隆與深克隆Java
- 如何透過ResultTransformer和原生SQL或JPQL生成DTO?ORMSQL
- vue 克隆物件時遇到的問題Vue物件
- 字串值提取工具-04-java 呼叫 java? Janino 編譯工具字串Java編譯
- Java開發中的幾種物件的說明(PO,VO,DTO,BO,POJO,DAO,SAO等)Java物件POJO
- Java | DO / DTO / BO / VO的區別Java
- java深克隆(深拷貝)和淺克隆(淺拷貝)Java
- 關於對於Java中Entity以及VO,以及DTO中Request物件序列化的學習Java物件
- vue 中 watch如何監聽陣列或物件中的某個值?Vue陣列物件
- 類似DDD的值物件的Java中新的值型別ValueType -jaxenter物件Java型別
- blender紋理繪製克隆工具使用
- java 將物件集合轉為欄位值的 listJava物件
- 1.3.2.1.2. 通過克隆或None-CDB方式建立CDBNone
- VO(檢視模型) 與 DTO(資料傳輸物件)的區別模型物件
- jxcel - 好用的Excel與Java物件轉換工具ExcelJava物件
- mac磁碟克隆備份工具:Clone X for macMac
- java使用bytebuddy動態生成帶泛型的DTOJava泛型
- Java中PO、DO、TO、DTO、 VO、 BO、POJO 、DAO的概念JavaPOJO