摘要

使用过SpringBoot的,自然都知道BeanUtils.copy的强大之处,该篇文章简单记录使用注解实现。

正文

一、确定需求

首先,确定实现效果

image-20221023231625919.png

确定做法,配置映射关系,方法上添加注解,即可实现转换。确定使用的技术,主要就在于如何将添加注解的方法逻辑进行实现。此处采用JDK的Proxy生成代理对象技术。

二、实现

2.1 建模

根据实现效果,确定类图。

image-20221023232950418.png

根据做法,确定活动图。

image-20221023233305033.png

2.2 使用

源码地址

sh
1
2
3
4
# 仅打包
mvn clean install
# 打包并附带源码
mvn clean source:jar install

或者直接使用即可,已发布到Maven中央仓库。

xml
1
2
3
4
5
<dependency>
    <groupId>top.meethigher</groupId>
    <artifactId>object-converter</artifactId>
    <version>1.0</version>
</dependency>

三、参考致谢

动态代理 - 廖雪峰的官方网站

mybatis/mybatis-3: MyBatis SQL mapper framework for Java

killme2008/aviatorscript: A high performance scripting language hosted on the JVM.

FK7075/lucky: 重构后的Lucky,尝试将Lucky中的各个功能模块独立出来成为单独的模块