名称 | 作用 |
---|---|
@Getter/@Setter | 作用类上,生成所有成员变量的getter/setter方法;作用于成员变量上,生成该成员变量的getter/setter方法。可以设定访问权限及是否懒加载等 |
@ToString | 作用于类,覆盖默认的toString()方法,可以通过of属性限定显示某些字段,通过exclude属性排除某些字段 |
@EqualsAndHashCode | 作用于类,覆盖默认的equals和hashCode |
@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor | 作用于类上,用于生成构造函数。有staticName、access等属性 |
@AllArgsConstructor | 生成全参构造器 |
@Data | 作用于类上,是以下注解的集合 :@ToString @EqualsAndHashCode @Getter @Setter |
需要添加依赖,打开Pom.xml
在标签 project 内空白处使用 Maven artifactId Search
然后添加 右键添加 maven
demo cn.java 0.0.1-SNAPSHOT 4.0.0 springioc3 org.projectlombok lombok
User类。
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;@Data //lombok自动提供get set toString hashCode equals
@NoArgsConstructor //生成无参数构造
@AllArgsConstructor//生成带参数构造
@Accessors(chain = true) //链式编程
public class User {private Integer id;private String name;private Integer age;private String adress;
}
创建Controller类。
@RestController
@RequestMapping("user/")
public class UserController {@RequestMapping("get")public User get(){//1. 通过Lombok插件 添加属性User u = new User();u.setId(110);u.setName("北京");u.setAge(60);u.setAdress("中国首都");System.out.println(u);// toString 进行了重写。return u;}@RequestMapping("get2")public User get2(){//2.含参数构造User u = new User(120,"天津",60,"中国嗝都");//3. 链式编程User u3 = new User().setId(120).setAge(60).setName("天津").setAdress("中国嗝都");//4.判断equals()boolean e = u.equals(u3);System.out.println(e);return u;}}
使用RunApp类。
@SpringBootApplication
public class RunApp{public static void main(String[] args) {SpringApplication.run(RunApp.class, args);}}
优点:
缺点:
@Data //lombok自动提供get set toString hashCode equals
@NoArgsConstructor //生成无参数构造
@AllArgsConstructor//生成带参数构造
@Accessors(chain = true) //链式编程
public class User {private Integer id;private String name;private Integer age;private String adress;//自定义多参数构造方法,进行重写。public User(Integer id, String name) {this.id = id;this.name = name;}
}
上一篇:今天面试了一个2年Java经验的
下一篇:DINO-DETR 实验与分析