官网:https://peojectlombok.org
作用:通过简单注解,消除冗长代码
优点:提高编码效率,使代码更简洁,避免修改方法字段时忘记修改方法名。
原理:javac支持“JSR 269 API”规范,只要程序实现了这个API就能在javac运行时得到调用。编译程序对源代码进行分析,生成一棵AST抽象语法树,处理过程中运行LomBok注解处理器程序,对AST进行处理,然后Lombok Annotation Handler找到注解所在类对应语法树,修改语法树,输出修改过的抽象语法树并进行解析生成。
引入:通过Maven引入,在官网或中央仓库找到依赖并加入pom文件。在IDEA安装Lombok插件
选择合适的地方使用,如POJO
常用注解:
@Data 加在类上【不包含构造】
@Getter 自动生成get方法
@Getter(AccessLevel.PROTECTED)【设置权限】
@Setter 自动生成get方法
@Setter(AccessLevel.PROTECTED)
@NoArgsConstructor 无参构造器
@AllArgsConstructor 所有参数的全参构造器
@Tostring 所有属性重写
@ToString(exclude=“column”) 排除属性
@ToString(exclude={“column”,“column2”}) 排除多个属性
@ToString(of={“column”,“column2”}) 指定多个属性
@EqualsAndHashCode
@EqualsAndHashCode(exclude=“column”)
@Slf4j 生成Logger 【logback日志框架】
@Log4j 【log4j日志框架】
反编译 Java Decompiler
http://jd.benow.ca/
编译命令:
mvn clean package -Dmaven.test.skip=true