【JAVA 之简化工具Lombok】
程序员文章站
2022-03-24 18:59:46
...
Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate your logging variables, and much more. Lombok能以简单的注解形式来简化java代码,提高开发人员的开发效率。例如开发中经常需要写的javabean, 都需要花时间去添加相应的getter/setter,也许还要去写构造器、equals等方法,而且需要维护, 当属性多时会出现大量的getter/setter方法,这些显得很冗长也没有太多技术含量,一旦修改属性, 就容易出现忘记修改对应方法的失误。 Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、 toString方法。出现的神奇就是在源码中没有getter和setter方法,但是在编译生成的字节码文件中有 getter和setter方法。这样就省去了手动重建这些代码的麻烦,使代码看起来更简洁些。 The Lombok javadoc is available, but we advise these pages. val Finally! Hassle-free final local variables. var Mutably! Hassle-free local variables. @NonNull or: How I learned to stop worrying and love the NullPointerException. @Cleanup Automatic resource management: Call your close() methods safely with no hassle. @Getter/@Setter Never write public int getFoo() {return foo;} again. @ToString No need to start a debugger to see your fields: Just let lombok generate a toString for you! @EqualsAndHashCode Equality made easy: Generates hashCode and equals implementations from the fields of your object.. @NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor Constructors made to order: Generates constructors that take no arguments, one argument per final / non-nullfield, or one argument for every field. @Data All together now: A shortcut for @ToString, @EqualsAndHashCode, @Getter on all fields, and @Setter on all non-final fields, and @RequiredArgsConstructor! @Value Immutable classes made very easy. @Builder ... and Bob's your uncle: No-hassle fancy-pants APIs for object creation! @SneakyThrows To boldly throw checked exceptions where no one has thrown them before! @Synchronized synchronized done right: Don't expose your locks. @Getter(lazy=true) Laziness is a virtue! @Log Captain's Log, stardate 24435.7: "What was that line again?" experimental Head to the lab: The new stuff we're working on.