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()); } }