lambok学习心得

2018-11-23  本文已影响0人  程豪_4090

lambok会通过简单注解来精简代码达到消除冗长代码的目的。

优点:

*提高编码效率

*使代码更简洁

*消除冗长代码

*避免修改字段名字时忘记修改方法名

原理:

*使用JSR269 pluggable Annotation Processing Api

*javac从java6开始支持“JSR 269 API”规范

编译时,javac编译源码的具体流程如下:

javac将源代码分析生成抽象语法树AST,lombok注解处理器对抽象语法树进行处理,lombok解析handler输出修改后的AST,javac将修改后的AST解析和生成,生成字节码文件。

lambok的注解

@Data    (包括@Getter、@Setter、@ToString、@EqualsAndHashCode)

@Getter

@Setter

@NoArgsConstructor

@AllArgsConstructor

@ToString

@EqualsAndHashCode

@Slf4j          logback日志框架时使用

@Log4j        Log4j日志框架时使用

注解的包括或排除一个或多个属性

@ToString(exclude="")

@ToString(exclude={"",""})

@ToString(of="")

@ToString(of={"",""})

lambok的坑

在类需要序列化、反序列化时详细控制字段时,如Jackson json序列化时,用lambok会引发问题。

maven项目引入lambok:

<dependency>

  <groupId>org.projectlombok

  <artifactId>lombok

  <version>1.16.18

</dependency>

上一篇下一篇

猜你喜欢

热点阅读