欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

IDEA Lombok插件

程序员文章站 2022-04-24 19:45:03
新公司大家都用idea,最终舍弃eclipse入乡随俗,失去了一些功能,也得到了一些功能,用了两个月终于习惯后感觉比eclipse更好用? Lombok 偶然知道还有Lombok少写代码的这种Coding神器,感觉自己果真是out了,使用其注解能够在我们编译源码的时候自动为我们生成很多Code。 依 ......

新公司大家都用idea,最终舍弃eclipse入乡随俗,失去了一些功能,也得到了一些功能,用了两个月终于习惯后感觉比eclipse更好用?

Lombok

偶然知道还有Lombok少写代码的这种Coding神器,感觉自己果真是out了,使用其注解能够在我们编译源码的时候自动为我们生成很多Code。

IDEA Lombok插件

 

 

依赖

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.0</version>
    <scope>provided</scope>
</dependency>

好用的几个注解

  • @ToString 

    自动生成ToString

  • @Getter@Setter 

    自动生成Getter和Setter方法

  • @Slf4j

    自动生成一个log常量,无需再声明log,coding可直接log.info

官方介绍

  • @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?"