中北软院创新实验室

Spring Boot集成lombok让代码更简洁

2017-11-06  本文已影响24人  HikariCP

话不多说,先上图:

IDEA安装lombok插件

  1. IntelliJ IDEA

    • 定位到 File > Settings > Plugins
    • 点击 Browse repositories…
    • 搜索 Lombok Plugin
    • 点击 Install plugin
    • 重启 IDEA

Spring Boot项目中使用lombok

  1. 添加lombok依赖
<!-- lombok代码简化 -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.16.16</version>
    <scope>provided</scope>
</dependency>
  1. 编写一个实体类进行测试
@Data
public class ConfigBean {

    private String name;
    private String think;
}
  1. 编写一个控制类进行访问测试
@RequestMapping(path = "/properties", method = RequestMethod.GET)
public String configProperties() {
    return configBean.getName() + ":" + configBean.getThink();
}

lombok 支持的注解:

val

Finally! Hassle-free final 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?"

官网资料:

https://projectlombok.org/features/all

另附两篇中文释意不错的文章:

http://blog.csdn.net/ghsau/article/details/52334762

http://himichaelchu.iteye.com/blog/2124409

上一篇 下一篇

猜你喜欢

热点阅读