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物件
- 物件如何深度克隆物件
- javascript 深度克隆物件JavaScript物件
- java的幾種物件(PO,VO,DAO,BO,POJO,DTO)解釋Java物件POJO
- JAVA 物件引用,以及物件賦值Java物件賦值
- js物件的深度克隆!JS物件
- JavaScript深層克隆物件JavaScript物件
- js克隆一個物件JS物件
- JS型別判斷、物件克隆、陣列克隆JS型別物件陣列
- Vue.js - 陣列和物件的賦值動態變化 & 克隆Vue.js陣列物件賦值
- 原生js實現物件的深克隆以及淺克隆JS物件
- js之物件深淺克隆JS物件
- 在 JavaScript 中如何克隆物件?JavaScript物件
- 從JDK角度看物件克隆JDK物件
- JS物件深度克隆/複製JS物件
- .NET物件克隆的深究 (轉)物件
- JAVA 基礎 – clone淺克隆與深克隆Java
- JAVA 基礎 - clone淺克隆與深克隆Java
- 從壹開始微服務 [ DDD ] 之八 ║剪不斷理還亂的 值物件和Dto微服務物件
- 如何實現物件的深度克隆物件
- 物件的克隆——原型模式(四)物件原型模式
- 物件的克隆——原型模式(三)物件原型模式
- 物件的克隆——原型模式(二)物件原型模式
- 物件的克隆——原型模式(一)物件原型模式
- .net 中的 Dto 引數封裝物件 使用封裝物件
- 為什麼需要DTO(資料傳輸物件)物件
- 深入理解Java的淺克隆與深克隆Java
- 如何透過ResultTransformer和原生SQL或JPQL生成DTO?ORMSQL
- Java | DO / DTO / BO / VO的區別Java
- vue 克隆物件時遇到的問題Vue物件
- js如何克隆一個節點物件JS物件
- VB.NET中物件的克隆 (轉)物件