java 编译时注解框架 lombok-ex
2020-12-13 16:25
标签:命令 属性 pack 编译 补充 命令编译 字段 proc change lombok-ex 是一款类似于 lombok 的编译时注解框架。 编译时注,拥有运行时注解的便利性,和无任何损失的性能。 主要补充一些 lombok 没有实现,且自己会用到的常见工具。 补充 lombok 缺失的注解,便于日常开发使用。 lombok 的源码基本不可读,应该是加密处理了。 为其他注解相关框架提升性能提供基础,后期考虑替换为编译时注解。 (1)类实现序列化接口 (2)类生成 serialVersionUID 字段,字段的值可以通过 value() 属性指定。 (1)类设置为 final (2)类构造器私有化 变更日志 jdk1.7+ maven 3.x+ 编译器启用编译时注解功能。 如 idea 启用 我们定义一个简单的 pojo,使用 直接使用 maven 命令编译 查看对应的 User.class 文件,内容如下: 所有代码均已开源,见 lombok-ex java 编译时注解框架 lombok-ex 标签:命令 属性 pack 编译 补充 命令编译 字段 proc change 原文地址:https://www.cnblogs.com/houbbBlogs/p/11619640.htmllombok-ex
创作目的
特性
@Serial
支持
@Util
支持变更日志
快速开始
准备工作
enable annotation process
maven 引入
例子
@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;
}
}
编译
$ mvn clean install
编译结果
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 使用案例
注解使用
@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);
}
}
代码开源地址
下一篇:css 各种方位三角形