热部署
定义:修改java类或页面或者静态文件,不需要手动重启
原理:类加载器
只适合于本地开发环境
其实作用也没有很大,相当于修改数据时自动重启项目,能减少一点手动操作。
Maven依赖
<!--SpringBoot热部署配置 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
Idea工具设置
1.“File” -> “Settings” -> “Build,Execution,Deplyment” -> “Compiler”,选中打勾 “Build project automatically” 。
2.组合键:“Shift+Ctrl+Alt+/” ,选择 “Registry” ,选中打“compiler.automake.allow.when.app.running”
Spring Boot集成lombok让代码更简洁
需要安装Idea整合 整合Lombok插件
重启idea后导入maven依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
原理:
实际上在开发写代码的时候,是不需要写get和set方法,但是在编译class文件中,帮你自动生成好这样get和set方法放入到class文件中。
演示
@Slf4j
@Data
public class UserEntity {
// @Getter
// @Setter
private String userName;
// @Getter
// @Setter
private Integer age;
@Override
public String toString() {
return "UserEntity [userName=" + userName + ", age=" + age + "]";
}
public static void main(String[] args) {
UserEntity userEntity = new UserEntity();
userEntity.setUserName("zhangsan");
userEntity.setAge(20);
System.out.println(userEntity.toString());
log.info("####我是日志##########");
}
}
结果
其他用法
@Data 标签,生成getter/setter toString()等方法
@NonNull : 让你不在担忧并且爱上NullPointerException
@CleanUp : 自动资源管理:不用再在finally中添加资源的close方法
@Setter/@Getter : 自动生成set和get方法
@ToString : 自动生成toString方法
@EqualsAndHashcode : 从对象的字段中生成hashCode和equals的实现
@NoArgsConstructor/@RequiredArgsConstructor/@AllArgsConstructor
自动生成构造方法
@Data : 自动生成set/get方法,toString方法,equals方法,hashCode方法,不带参数的构造方法
@Value : 用于注解final类
@Builder : 产生复杂的构建器api类
@SneakyThrows : 异常处理(谨慎使用)
@Synchronized : 同步方法安全的转化
@Getter(lazy=true) :
@Log : 支持各种logger对象,使用时用对应的注解,如:@Log4