Spring Boot集成lombok让代码更简洁

话不多说,先上图:

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容