본문 바로가기

카테고리 없음

SpringBoot Mapstruct maven적용하

 

<dependency>
   <groupId>org.mapstruct</groupId>
   <artifactId>mapstruct</artifactId>
   <version>1.5.3.Final</version>
</dependency>
<dependency>
   <groupId>org.projectlombok</groupId>
   <artifactId>lombok-mapstruct-binding</artifactId>
   <version>0.2.0</version>
</dependency>
<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.8.1</version>
				<configuration>
					<source>17</source>
					<target>17</target>
					<encoding>UTF-8</encoding>
					<annotationProcessors>
						<annotationProcessor>lombok.launch.AnnotationProcessorHider$AnnotationProcessor</annotationProcessor>
						<annotationProcessor>org.mapstruct.ap.MappingProcessor</annotationProcessor>
					</annotationProcessors>
					<annotationProcessorPaths>
<!--						<path>-->
<!--							<groupId>com.querydsl</groupId>-->
<!--							<artifactId>querydsl-apt</artifactId>-->
<!--							<version>4.4.0</version>-->
<!--						</path>-->
						<path>
							<groupId>org.projectlombok</groupId>
							<artifactId>lombok</artifactId>
							<version>1.18.24</version>
						</path>
						<path>
							<groupId>org.mapstruct</groupId>
							<artifactId>mapstruct-processor</artifactId>
							<version>1.5.3.Final</version>
						</path>
					</annotationProcessorPaths>
				</configuration>
			</plugin>
		</plugins>
	</build>

구현코드 샘플

@Mapper(componentModel = "spring")
public interface TTTMapper extends EntityMapper<Zsd7Wkmbr, com.***.integration.domain.Member>{
    TTTMapper mapper = Mappers.getMapper(TTTMapper.class);
}

이렇게 생긴다