eclipse中使用lombok,优化java代码

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提供的注解

[plain]  view plain  copy
  1. val : 和 scala 中 val 同名, 可以在运行时确定类型;  
  2. @NonNull : 注解在参数上, 如果该类参数为 null , 就会报出异常,  throw new NullPointException(参数名)  
  3. @Cleanup : 注释在引用变量前, 自动回收资源 默认调用 close() 方法  
  4. @Getter/@Setter : 注解在类上, 为类提供读写属性  
  5. @Getter(lazy=true) :  
  6. @ToString : 注解在类上, 为类提供 toString() 方法  
  7. @EqualsAndHashCode : 注解在类上, 为类提供 equals() 和 hashCode() 方法  
  8. @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor : 注解在类上, 为类提供无参,有指定必须参数, 全参构造函数  
  9. @Data : 注解在类上, 为类提供读写属性, 此外还提供了 equals()、hashCode()、toString() 方法  
  10. @Value :  
  11. @Builder : 注解在类上, 为类提供一个内部的 Builder  
  12. @SneakThrows :  
  13. @Synchronized : 注解在方法上, 为方法提供同步锁  
  14. @Log :  
  15. @Log4j : 注解在类上, 为类提供一个属性名为 log 的 log4j 的日志对象  
  16. @Slf4j : 注解在类上, 为类提供一个属性名为 log 的 log4j 的日志对象  
  17. @Cleanup("dispose") org.eclipse.swt.widgets.CoolBar bar = new CoolBar(parent, 0);  
  18. @Cleanup InputStream in = new FileInputStream(args[0]);  
  19. @Cleanup OutputStream out = new FileOutputStream(args[1]);  

下面我们就来看看java代码使用

[java]  view plain  copy
  1. import java.io.Serializable;  
  2. import java.util.Date;  
  3.   
  4. import lombok.Data;  
  5. import lombok.experimental.Accessors;  
  6.   
  7. @Data  
  8. @Accessors(chain = true)  
  9. public class BaseEntity implements Serializable{  
  10.   
  11.     private static final long serialVersionUID = 1L;  
  12.   
  13.     private Long id;  
  14.       
  15.     private Date createTime;  
  16.       
  17.     private Date updateTime;  
  18.       
  19. }  

[java]  view plain  copy
  1. import lombok.Getter;  
  2. import lombok.Setter;  
  3. import lombok.ToString;  
  4. import lombok.experimental.Accessors;  
  5.   
  6. //实现 链式set方法  
  7. @Accessors(chain = true)  
  8. @Setter  
  9. @Getter  
  10. //为了打印出父类的tostring方法  
  11. @ToString(callSuper = true)  
  12. public class User extends BaseEntity{  
  13.   
  14.     private static final long serialVersionUID = -8894957774014769811L;  
  15.   
  16.     private int age;  
  17.       
  18.     private String name;  
  19.   
  20.     public String getInfo() {  
  21.         return "jack";  
  22.     }  
  23. }  

[java]  view plain  copy
  1. import java.util.Date;  
  2.   
  3.   
  4. public class Test {  
  5.   
  6.       
  7.     public static void main(String[] args) {  
  8.         User user = new User();  
  9.         user.setName("das");  
  10.         user.setAge(23);  
  11.         //@Accessors 设置为true时候可以这样使用  
  12.         user.setId(123l).setCreateTime(new Date());  
  13.         System.out.println(user.getInfo());  
  14.         System.out.println(user.toString());  
  15.     }  
  16.       
  17. }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值