1、下载Lombok.jar http://projectlombok.googlecode.com/files/lombok.jar
2、运行Lombok.jar: 找到Lombok.jar所在的目录下,然后运行
java -jar lombok.jar
数秒后将弹出一框,以确认eclipse的安装路径
2、1 或者直接把lombok.jar 拷贝到eclipse.ini同等目录下面
3、确认完eclipse的安装路径后,点击install/update按钮,即可安装完成
4、安装完成之后,请确认eclipse安装路径下是否多了一个lombok.jar包,并且其
配置文件eclipse.ini中是否 添加了如下内容:
-javaagent:lombok.jar
-Xbootclasspath/a:lombok.jar
如果上面的答案均为true,那么恭喜你已经安装成功,否则将缺少的部分添加到相应的位置即可
5、重启eclipse或myeclipse
lombok 能够减少大量的模板代码,下面列举下 lombok提供的注解
- val : 和 scala 中 val 同名, 可以在运行时确定类型;
- @NonNull : 注解在参数上, 如果该类参数为 null , 就会报出异常, throw new NullPointException(参数名)
- @Cleanup : 注释在引用变量前, 自动回收资源 默认调用 close() 方法
- @Getter/@Setter : 注解在类上, 为类提供读写属性
- @Getter(lazy=true) :
- @ToString : 注解在类上, 为类提供 toString() 方法
- @EqualsAndHashCode : 注解在类上, 为类提供 equals() 和 hashCode() 方法
- @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor : 注解在类上, 为类提供无参,有指定必须参数, 全参构造函数
- @Data : 注解在类上, 为类提供读写属性, 此外还提供了 equals()、hashCode()、toString() 方法
- @Value :
- @Builder : 注解在类上, 为类提供一个内部的 Builder
- @SneakThrows :
- @Synchronized : 注解在方法上, 为方法提供同步锁
- @Log :
- @Log4j : 注解在类上, 为类提供一个属性名为 log 的 log4j 的日志对象
- @Slf4j : 注解在类上, 为类提供一个属性名为 log 的 log4j 的日志对象
- @Cleanup("dispose") org.eclipse.swt.widgets.CoolBar bar = new CoolBar(parent, 0);
- @Cleanup InputStream in = new FileInputStream(args[0]);
- @Cleanup OutputStream out = new FileOutputStream(args[1]);
下面我们就来看看java代码使用
- import java.io.Serializable;
- import java.util.Date;
- import lombok.Data;
- import lombok.experimental.Accessors;
- @Data
- @Accessors(chain = true)
- public class BaseEntity implements Serializable{
- private static final long serialVersionUID = 1L;
- private Long id;
- private Date createTime;
- private Date updateTime;
- }
- import lombok.Getter;
- import lombok.Setter;
- import lombok.ToString;
- import lombok.experimental.Accessors;
- //实现 链式set方法
- @Accessors(chain = true)
- @Setter
- @Getter
- //为了打印出父类的tostring方法
- @ToString(callSuper = true)
- public class User extends BaseEntity{
- private static final long serialVersionUID = -8894957774014769811L;
- private int age;
- private String name;
- public String getInfo() {
- return "jack";
- }
- }
- import java.util.Date;
- public class Test {
- public static void main(String[] args) {
- User user = new User();
- user.setName("das");
- user.setAge(23);
- //@Accessors 设置为true时候可以这样使用
- user.setId(123l).setCreateTime(new Date());
- System.out.println(user.getInfo());
- System.out.println(user.toString());
- }
- }