eclipse中使用lombok,优化java代码

来源:互联网 发布:qq密码查询数据库 编辑:程序博客网 时间:2024/05/17 03:53

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


原创粉丝点击