对于lombok依赖的理解

在我们写代码的时候一般会使用setter和getter方法对属性进行赋值和取值,如果属性比较多的话,那么从代码量来说是一个复杂的工程,尽管sts或ecplise提供了自动生成的的方法,但是从效果上来看并不美观,如一下代码

 1 package com.cy.pj.pojo;
 2 
 3 import java.util.Date;
 4 
 5 import lombok.AllArgsConstructor;
 6 import lombok.Data;
 7 import lombok.NoArgsConstructor;
 8 
 9 //@Data
10 //@NoArgsConstructor
11 //@AllArgsConstructor
12 public class SysLog {
13 
14     private Integer id;
15     private String username;
16     private String operation;
17     private String method;
18     private String params;
19     private Date time;
20     private String ip;
21     private Date createdTime;
22     public Integer getId() {
23         return id;
24     }
25     public void setId(Integer id) {
26         this.id = id;
27     }
28     public String getUsername() {
29         return username;
30     }
31     public void setUsername(String username) {
32         this.username = username;
33     }
34     public String getOperation() {
35         return operation;
36     }
37     public void setOperation(String operation) {
38         this.operation = operation;
39     }
40     public String getMethod() {
41         return method;
42     }
43     public void setMethod(String method) {
44         this.method = method;
45     }
46     public String getParams() {
47         return params;
48     }
49     public void setParams(String params) {
50         this.params = params;
51     }
52     public Date getTime() {
53         return time;
54     }
55     public void setTime(Date time) {
56         this.time = time;
57     }
58     public String getIp() {
59         return ip;
60     }
61     public void setIp(String ip) {
62         this.ip = ip;
63     }
64     public Date getCreatedTime() {
65         return createdTime;
66     }
67     public void setCreatedTime(Date createdTime) {
68         this.createdTime = createdTime;
69     }
70     
71     
72 }

现在来让我们看看使用lombok依赖后,代码的量减少了很多

 1 package com.cy.pj.pojo;
 2 
 3 import java.util.Date;
 4 
 5 import lombok.AllArgsConstructor;
 6 import lombok.Data;
 7 import lombok.NoArgsConstructor;
 8 
 9 @Data
10 @NoArgsConstructor
11 @AllArgsConstructor
12 public class SysLog {
13 
14     private Integer id;
15     private String username;
16     private String operation;
17     private String method;
18     private String params;
19     private Date time;
20     private String ip;
21     private Date createdTime;
22 
23     
24 }

这两段代码实现的功能是相同的,但是代码量却减少了许多。

现在介绍lombok当中的一些注解的意思:

@Data:注解在属性上为属性提供getting和setting方法,处了这些以外还包括equals,canEqual,hashCode,toString方法

@Setter:注解在属性上为属性提供setting方法,注解在类上表示当前类中所有属性都生成setter方法

@Getter:注解在属性上为属性提供getting方法,注解在类上表示当前类中所有属性都生成getter方法

@Log4j:注解在类上为类提供一个属性名为log的log4j日志对象

@NoArgsConstructor:注解在类上为类提供一个无参构造方法

@AllArgsConstructor:注解在类上为类提供一个全参的构造方法

你可能感兴趣的:(对于lombok依赖的理解)