新公司大家都用IDEA,最终舍弃Eclipse入乡随俗,失去了一些功能,也得到了一些功能,用了两个月终于习惯后感觉比Eclipse更好用?
偶然知道还有Lombok少写代码的这种Coding神器,使用其注解能够在我们编译源码的时候自动为我们生成很多Code。
依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.0</version>
<scope>provided</scope>
</dependency>
好用的几个注解
注解 | 作用 |
@ToString | 自动生成ToString方法 |
@Getter@Setter | 自动生成Getter和Setter方法 |
@Slf4j | 自动生成一个使用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?" |