整合devtools
什么是热部署
当我们修改java类或页面或者静态文件,必须重启部署才能访问,而热部署就是我们修改代码时,正在运行的项目自动更新部署,不需要重启。
原理:类加载器
要注意热部署适合于本地开发环境,不适用于生产环境。
依赖
<!--SpringBoot热部署配置 -->
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-devtools -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
application.yml配置文件配置devtools
spring:
devtools:
restart:
enabled: true #设置开启热部署
additional-paths: src/main/java #重启目录
exclude: WEB-INF/**
freemarker:
cache: false #页面不加载缓存,修改即时生效
idea设置
1)“File” -> “Settings” -> “Build,Execution,Deplyment” -> “Compiler”,选中打勾 “Build project automatically” 。
2) 快捷键键:“Shift+Ctrl+Alt+/” ,选择 “Registry” ,选中打勾 “compiler.automake.allow.when.app.running”
测试
按保存键就能自动部署了。可以观察控制台情况,会自动重启。
修改类–>保存:应用会重启
修改配置文件–>保存:应用会重启
修改页面–>保存:应用不会重启,但会重新加载,页面会刷新
整合lombok让代码更简洁
当我们在给实体类添加getter、setter方法还是比较显得冗余的,尽管idea有快捷键,但是当有好几百个实体类时看起来就不是那么整洁了。如果用lombok只需要在类上加个@Data
注解,就相当于本身就有getter、setter方法了。
-
需要在idea中安装Lombok插件:
红框内就是lombok所带的注解的使用。
安装后会提示你重启,重启一下。 -
引入lombok依赖(2步都得有)
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
<!-- <scope>provided</scope>-->
</dependency>
Lombok注解使用演示
@Data
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class User {
private Integer id;
private String name;
private Integer age;
public User(String name, Integer age) {
this.name = name;
this.age = age;
}
}
还有很多的注解可以使用。
这里有关于lombok的详细使用和介绍
原理:
实际上在开发写代码的时候 是不需要写get和set方法,但是在编译class文件中,帮你自动生成好这样get和set方法 放入到class文件中。