Sora Watermark Remover - Allows you to remove the watermark from Sora videos.Try Now

CurateClick

mapstruct.plus favicon

MapStructPlus

MapStructPlus 是 MapStruct 的增强工具,自动生成 Mapper 接口并强化功能,使 Java 类型转换更加便捷优雅。完全兼容 MapStruct,支持 Maven、Gradle 等构建工具。

Check out MapStructPlus on CurateClick

• Copy the embed code to showcase this product on your website

• Share on X to spread the word about this amazing tool

  • 官网 | 国内镜像网站- 项目地址Mapstruct Plus 是 Mapstruct 的增强工具,在 Mapstruct 的基础上,实现了自动生成 Mapper 接口的功能,并强化了部分功能,使 Java 类型转换更加便捷、优雅。和 Mapstruct 一样,本质上都是一个基于 JSR 269 的 Java 注释处理器,因此可以由 Maven 、Gradle 、Ant 等来构建触发。Mapstruct Plus 内嵌 Mapstruct ,和 Mapstruct 完全兼容,如果之前已经使用 Mapstruct ,可以无缝替换依赖。简单示例假设有两个类 UserDto 和 User ,分别表示数据层对象和业务层对象:- UserDtojavapublic class UserDto { private String username; private int age; private boolean young; // getter 、setter 、toString 、equals 、hashCode}- Userjavapublic class User { private String username; private int age; private boolean young; // getter 、setter 、toString 、equals 、hashCode}添加依赖: 引入 mapstruct-plus-spring-boot-starter 依赖:xml<properties> <mapstruct-plus.version>1.3.6</mapstruct-plus.version></properties><dependencies> <dependency> <groupId>io.github.linpeilie</groupId> <artifactId>mapstruct-plus-spring-boot-starter</artifactId> <version>${mapstruct-plus.version}</version> </dependency></dependencies><build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>1.8</source> <target>1.8</target> <annotationProcessorPaths> <path> <groupId>io.github.linpeilie</groupId> <artifactId>mapstruct-plus-processor</artifactId> <version>${mapstruct-plus.version}</version> </path> </annotationProcessorPaths> </configuration> </plugin> </plugins></build>指定对象映射关系:在 User 或者 UserDto 上面增加注解 —— @AutoMapper,并设置 targetType 为对方类。例如:java@AutoMapper(target = UserDto.class)public class User { // ...}测试:java@SpringBootTestpublic class QuickStartTest { @Autowired private Converter converter; @Test public void test() { User user = new User(); user.setUsername("jack"); user.setAge(23); user.setYoung(false); UserDto userDto = converter.convert(user, UserDto.class); System.out.println(userDto); // UserDto{username='jack', age=23, young=false} assert user.getUsername().equals(userDto.getUsername()); assert user.getAge() == userDto.getAge(); assert user.isYoung() == userDto.isYoung(); User newUser = converter.convert(userDto, User.class); System.out.println(newUser); // User{username='jack', age=23, young=false} assert user.getUsername().equals(newUser.getUsername()); assert user.getAge() == newUser.getAge(); assert user.isYoung() == newUser.isYoung(); }}小结:引入依赖后,使用 MapStructPlus 的步骤非常简单。- 给需要转换的类添加 AutoMapper 注解;- 获取 Converter 实例,调用 convert 方法即可。

Latest Weekly Picks

nanobananaimg.com favicon
Weekly Pick

Nano Banana AI Image Generator for Professional Image Creation with Nano Banana Pro Models

Nano Banana
pslscale.com favicon
Weekly Pick

使用 Gemini 3 Pro 分析八字命理

人生 K 线
seedance15.ai favicon
Weekly Pick

Create Cinematic AI Videos from Text or Images with Seedance 1.5

Seedance 1.5 AI
tatted.ai favicon
Weekly Pick

The Tatted AI Tattoo Generator is a tool that allows you to create beautiful custom tattoos within seconds.

Tatted
pslscale.com favicon
Weekly Pick

Discover your PSL (Perceived Sexual Market Value) score with our AI-powered facial analysis

PSL Scale

IPYNB to PDF Converter – Free & Secure

www.reverie.im favicon
Weekly Pick

Dream It, Chat It, Create It

Reverie
make.ink favicon
Weekly Pick

Your AI tattoo generator for pro-grade concepts

make ink