lombok-ex 是一款类似于 lombok 的编译时注解框架。
编译时注,拥有运行时注解的便利性,和无任何损失的性能。
主要补充一些 lombok 没有实现,且自己会用到的常见工具。
@Serial
支持 (1)类实现序列化接口
(2)类生成 serialVersionUID 字段,字段的值可以通过 value() 属性指定。
@Util
支持 (1)类设置为 final
(2)类构造器私有化
变更日志
如 idea 启用 enable annotation process
<dependency> <groupId>com.github.houbb</groupId> <artifactId>lombok-ex</artifactId> <version>0.0.2</version> <scope>provided</scope> </dependency>
我们定义一个简单的 pojo,使用 @Serial
package com.github.houbb.lombok.test.model; import com.github.houbb.lombok.ex.annotation.Serial; @Serial public class User { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }
直接使用 maven 命令编译
$ mvn clean install
查看对应的 User.class 文件,内容如下:
package com.github.houbb.lombok.test.model; import java.io.Serializable; public class User implements Serializable { private static final Long serialVersionUID = 1L; private String name; public User() { } public String getName() { return this.name; } public void setName(String name) { this.name = name; } }
@Util public class StringUtil { public static boolean isEmpty(final String string) { return null == string || "".equals(string); } }
public final class StringUtil { private StringUtil() { } public static boolean isEmpty(String string) { return null == string || "".equals(string); } }
所有代码均已开源,见 lombok-ex