Skip to content

Commit a54517c

Browse files
author
hewei
committed
Lombok插件说明
1 parent 22cca55 commit a54517c

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

README.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
* [~~官方ConstructorBased配置BUG临时修正插件(ConstructorBasedBugFixPlugin)~~](#16-官方constructorbased配置bug临时修正插件)
2525
* [乐观锁插件(OptimisticLockerPlugin)](#17-乐观锁插件)
2626
* [表重命名配置插件(TableRenameConfigurationPlugin)](#18-表重命名配置插件)
27+
* [Lombok插件(LombokPlugin)](#19-Lombok插件)
2728

2829
---------------------------------------
2930
Maven引用:
@@ -1361,3 +1362,25 @@ public class Test {
13611362
</plugin>
13621363
</xml>
13631364
```
1365+
### 19. Lombok插件
1366+
使用Lombok的使用可以减少很多重复代码的书写,目前项目中已大量使用。
1367+
但Lombok的@Builder对于类的继承支持很不好,最近发现新版(>=1.18.2)已经提供了对@SuperBuilder的支持,所以新增该插件方便简写代码。
1368+
>warning: 目前很多IDE工具对@SuperBuilder支持不是很好,虽不影响正常使用,但是开发时很不友好,暂时可以使用ModelBuilderPlugin代替该功能。
1369+
1370+
>warning1: @Builder注解在Lombok 版本 >= 1.18.2 的情况下才能开启,对于存在继承关系的model会自动替换成@SuperBuilder注解。
1371+
1372+
>warning2: 配合插件IncrementsPlugin 并且 @Builder开启的情况下,因为@SuperBuilder的一些限制,
1373+
插件模拟Lombok插件生成了一些附加代码可能在某些编译器上会提示错误,请忽略(Lombok = 1.18.2 已测试)。
1374+
1375+
```xml
1376+
<xml>
1377+
<!-- Lombok插件 -->
1378+
<plugin type="com.itfsw.mybatis.generator.plugins.LombokPlugin">
1379+
<!-- @Builder 必须在 Lombok 版本 >= 1.18.2 的情况下 -->
1380+
<property name="@Builder" value="false"/>
1381+
<!-- @NoArgsConstructor 和 @AllArgsConstructor 使用规则和Lombok一致 -->
1382+
<property name="@AllArgsConstructor" value="false"/>
1383+
<property name="@NoArgsConstructor" value="false"/>
1384+
</plugin>
1385+
</xml>
1386+
```

0 commit comments

Comments
 (0)