java -ex_java 编译时注解框架 lombok-ex

lombok-ex

lombok-ex 是一款类似于 lombok 的编译时注解框架。

编译时注,拥有运行时注解的便利性,和无任何损失的性能。

主要补充一些 lombok 没有实现,且自己会用到的常见工具。

创作目的

补充 lombok 缺失的注解,便于日常开发使用。

lombok 的源码基本不可读,应该是加密处理了。

为其他注解相关框架提升性能提供基础,后期考虑替换为编译时注解。

特性

@Serial 支持

(1)类实现序列化接口

(2)类生成 serialVersionUID 字段,字段的值可以通过 value() 属性指定。

@Util 支持

(1)类设置为 final

(2)类构造器私有化

变更日志

快速开始

准备工作

jdk1.7+

maven 3.x+

编译器启用编译时注解功能。

如 idea 启用 enable annotation process

maven 引入

com.github.houbb

lombok-ex

0.0.2

provided

例子

User.java

我们定义一个简单的 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 使用案例

注解使用

@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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值