简化开发的方式Lombok和dev-tools
Lombok常用注解
Lombok用标签方式代替构造器、getter/setter、toString()
等重复代码, 在程序编译的时候自动生成这些代码
注解名 | 功能 |
---|---|
@NoArgsConstructor | 生成无参构造方法 |
@AllArgsConstructor | 生产含所有属性的有参构造方法,如果不希望含所有属性则需要手动生成 |
@Getter | 生成属性的getter方法 |
@Setter | 生成属性的setter方法 |
@ToString | 生成toString方法 |
@EqualsAndHashCode | 生成equals和HashCode方法callSuper = true 表示用自己的属性和从父类继承的属性来生成hashcodecallSuper = false(默认) 表示只用自己的属性来生成hashcode |
@Data | 除了不能生成有参构造方法,以上注解能生成的@Data都能生成 |
@Slf4j | 注入log日志类,简化日志开发, log.info()在控制台上输出信息,方便调试 |
@Accessors | 在生成 getter 和 setter 方法时做一些相关的设置 作用于类上时修饰类中所有字段,当作用于具体字段时只对该字段有效 chain属性值 默认为false,当该值为true 时对应字段的setter方法调用后会返回当前对象即可以实现链式调用 |
使用步骤
第一步引入依赖org.projectlombok
: Spring Boot父工程中已经指定了Lombok的版本号
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
第二步: 搜索并安装Lombok插件
第三步: 测试Lombok提供的相关注解的功能
@Data
public class User {
private String name;
private Integer age;
private Pet pet;
public User(String name,Integer age){
this.name = name;
this.age = age;
}
}
@Slf4j
@RestController
public class HelloController {
@RequestMapping("/hello")
public String handle01(@RequestParam("name") String name){
log.info("请求进来了....");
return "Hello, Spring Boot 2!"+"你好:"+name;
}
}
dev-tools依赖
热更新: 在工程中添加spring-boot-devtools
依赖,这样当项目或者页面源代码修改以后按住Ctrl+F9
可以快速编译项目并重新加载
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
</dependencies>