转自:https://www.imooc.com/article/18156

初识lombok

官网:https://projectlombok.org/

什么是lombok

连官网都懒得废话,只给出了一句广告词:给你的java加点料(spice up your java)。

我们自己来总结一下:

lombok是一个ide插件,它可以让我们写更少的代码,而编译出更多的字节码。

也就是说,我们可以让我们编译出一个复杂的.class文件,而我们的.java文件很干净清爽。

为什么要使用lombok

首先,我们可以写更少的代码,而不影响其他类引用,方法一个不能少;

其次,lombok是编译周期参与的,运行时完全无依赖,对字节码而言无侵入;

代码review更简单,一目了然。

lombok适用场景

尤其适合pojo类,如普通的javabean、orm的实体类、json的实体类等。

有些功能如Log相关,适用于任意类。

spring Cloud已经引入为一个core组件,可以放心使用。

hello lombok

首先,我们按照传统的方式编写一个java bean,增加getter、setter、toString:

package com.pollyduan;

import java.util.Date;

public class User {
private Integer id;
private String userName;
private String password;
private String email;
private Integer age;
private Date signupTime; public Integer getId() {
return id;
} public void setId(Integer id) {
this.id = id;
} public String getUserName() {
return userName;
} public void setUserName(String userName) {
this.userName = userName;
} public String getPassword() {
return password;
} public void setPassword(String password) {
this.password = password;
} public String getEmail() {
return email;
} public void setEmail(String email) {
this.email = email;
} public Integer getAge() {
return age;
} public void setAge(Integer age) {
this.age = age;
} public Date getSignupTime() {
return signupTime;
} public void setSignupTime(Date signupTime) {
this.signupTime = signupTime;
} @Override
public String toString() {
return "User [id=" + id + ", userName=" + userName + ", password=" + password + ", email=" + email + ", age="
+ age + ", signupTime=" + signupTime + "]";
}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66

然后写一个Main方法测试一下:

public static void main(String[] args) {
User user=new User();
user.setId(1001);
user.setUserName("pollyduan");
user.setPassword("123456");
user.setEmail("pollyduan@pollyduan.com");
user.setAge(30);
user.setSignupTime(new Date());
System.out.println(user);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

我们用lombok改造一下,重点看一下main方法,使用起来完全一样。

package com.pollyduan;

import java.util.Date;

import lombok.Data;

@Data
public class User {
private Integer id;
private String userName;
private String password;
private String email;
private Integer age;
private Date signupTime;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

没错,就是这么干净。

其他类使用该Bean的方法与前面完全一样。

如何安装插件

看了helloworld是不是有了用一下的冲动?如果使用该插件需要在ide安装插件,这里只针对eclipse开发环境进行说明,其他ide可以搜索一下,或者联系我。

下载插件

首先你要拿到一个lombok.jar,有几个途径:

1. 直接在官网下载;
2. 去maven仓库下载,比如:http://mvnrepository.com/
3. 直接在你的maven项目中拉取jar,然后去~/.m2中去找。
  • 1
  • 2
  • 3

maven依赖配置:

<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.16</version>
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5

注:该jar第一次安装完之后,以后编码时也需要引入到java build path中。

安装lombok

直接执行lombok.jar,如:

java -jar ~/.m2/repository/org/projectlombok/lombok/1.16.16/lombok-1.16.16.jar
  • 1

会弹出一个窗口,选择你的eclipse目录,或者自己导航到eclipse.ini文件,点击”Install”即可。

使用lombok

插件安装后,重启eclipse,将lombok.jar添加到java build path中就可以了。

如果你使用maven,很好,将lombok添加到依赖中即可。

最新文章

  1. http 协议集合,超级简单
  2. Moqui简介
  3. jQ HTML之捕获 设置 元素添加与删除
  4. paper 95:《模式识别和机器学习》资源
  5. java基础八 [序列化和文件的输入/输出](阅读Head First Java记录)
  6. Android UI组件
  7. PHP二位数组/多维数组 根据某个键值排序
  8. JAVA - 多线程的同步
  9. android音乐播放器开发 SweetMusicPlayer 实现思路
  10. AMD规范
  11. 我的Markdown的利器——Markdown Here、有道云笔记、iPic
  12. IT连创业系列:App产品上线后,运营怎么搞?(中)
  13. 内核空间内存申请函数kmalloc kzalloc vmalloc的区别
  14. django 过滤器,标签
  15. 初步掌握node的路由控制
  16. 清空mailq 队列里面的邮件
  17. WEB-ERROR-PAGE
  18. Sql Server外键约束
  19. idea 配置多个tomcat
  20. (转)List&lt;T&gt;的各种排序方法

热门文章

  1. 【Educational Codeforces Round 37 B】 Tea Queue
  2. CodeForces 316c1 Tidying Up
  3. Ubuntu 经常使用软件安装
  4. [Java开发之路](6)File类的使用
  5. Python数据可视化——散点图
  6. 有关c语言指针的总结
  7. 在Mac OS X上安装使用lazarus 1.6.4
  8. 解决Android Studio 2.2.3中添加.cpp .h文件在Project-&gt;Android无法显示,无法正常编译问题。
  9. HDU 5370 Tree Maker
  10. How Blink works